.clp-login-wrap{ max-width: 760px; margin: 2rem auto; padding: 1.25rem; background: #fff; border: 1px solid #e5e7eb; border-radius: 8px; }
.clp-login-form p{ margin: .5rem 0; }
.clp-login-form input[type=text],
.clp-login-form input[type=password],
.clp-login-form input[type=email],
.clp-profile-form input[type=text],
.clp-profile-form input[type=url],
.clp-profile-form input[type=email],
.clp-profile-form input[type=password],
.clp-profile-form textarea, .clp-profile-form select{ width: 100%; max-width: 520px; padding: .5rem; border: 1px solid #d1d5db; border-radius: 6px; }
.clp-error{ background:#fee2e2; border:1px solid #ef4444; color:#991b1b; padding:.5rem .75rem; border-radius:6px; margin-bottom:1rem;}
.clp-notice{ background:#ecfeff; border:1px solid #06b6d4; color:#0e7490; padding:.5rem .75rem; border-radius:6px; margin-bottom:1rem;}

/* Simple button styles for anchors */
.clp-button{ display:inline-block; padding:.45rem .8rem; border:1px solid #d1d5db; border-radius:6px; background:#f9fafb; color:#111827; text-decoration:none; }
.clp-button:hover{ background:#f3f4f6; }
.clp-button-primary{ border-color:#2563eb; background:#2563eb; color:#fff; }
.clp-button-primary:hover{ background:#1d4ed8; }

/* Hide theme page title on VPL login/profile pages */
body.clp-hide-page-title article.entry > h1,
body.clp-hide-page-title article.entry .entry-header > h1,
body.clp-hide-page-title article.entry h1.entry-title,
body.clp-hide-page-title article.entry h1.clp-page-title{
	display:none !important;
}

/* ===== Branded Profile Experience ===== */
.clp-profile-shell{ max-width:1120px; }
.clp-profile-card{ overflow:visible; }
.clp-profile-grid{ grid-template-columns:minmax(230px, .9fr) minmax(420px, 1.6fr); }
.clp-profile-brand h2{ margin:0 0 .5rem; }
.clp-profile-header{ margin:0 0 .85rem; }
.clp-profile-header h2{ margin:0; color:#fff; font-size:1.8rem; line-height:1.1; letter-spacing:.01em; font-weight:700; }
.clp-profile-brand{ overflow:visible; }
.clp-profile-menu{ margin:1rem 0 0 0; padding:.75rem 0 0 0; border-top:1px solid rgba(255, 255, 255, .2); overflow:visible; }
.clp-profile-menu .menu{ list-style:none; margin:0; padding:0; }
.clp-profile-menu .menu li{ position:relative; }
.clp-profile-menu .menu > li > a{ display:block; padding:.65rem 0; color:#fff; text-decoration:none; font-weight:600; border-radius:6px; transition:all .2s ease; }
.clp-profile-menu .menu > li > a:hover{ background:rgba(255, 255, 255, .12); color:#fff; }
.clp-profile-menu .menu > li.current > a{ color:#fff; background:rgba(255, 255, 255, .08); }

/* Default submenu behavior - always visible */
.clp-profile-menu .menu .sub-menu{ display:block !important; margin:.25rem 0 .5rem 0.5rem; padding-left:.5rem; border-left:2px solid rgba(255, 255, 255, .2); list-style:none; }
.clp-profile-menu .menu .sub-menu li a{ color:rgba(255, 255, 255, .85); padding:.45rem 0; }
.clp-profile-menu .menu .sub-menu li a:hover{ color:#fff; background:transparent; }
.clp-profile-panel{ background:linear-gradient(180deg, #ffffff 0%, var(--clp-auth-soft) 100%); padding:1.75rem 1.65rem; }
.clp-profile-form h3{ color:var(--clp-auth-navy); margin:.25rem 0 .85rem; }
.clp-profile-form .button-primary{ border-radius:10px; min-height:42px; font-weight:700; background:linear-gradient(120deg,#1168aa 0%, #083f73 100%); border:1px solid #0a4c84; }

/* ===== MENU MODE STYLES ===== */
/* STACK - Override for profile menu to keep submenus visible */
.clp-nav-menu.clp-submenu-stack .clp-profile-menu .menu .sub-menu{ display:block !important; margin:.25rem 0 .5rem 0.5rem; padding-left:.5rem; border-left:2px solid rgba(255, 255, 255, .2); }
.clp-nav-menu.clp-submenu-stack .clp-profile-menu .menu .sub-menu li a{ color:rgba(255, 255, 255, .85); }

/* ACCORDION - Override for profile menu to keep submenus visible */
.clp-nav-menu.clp-submenu-accordion .clp-profile-menu .menu .sub-menu{ display:block !important; margin:.25rem 0 .5rem 0.5rem; padding-left:.5rem; border-left:2px solid rgba(255, 255, 255, .2); }
.clp-nav-menu.clp-submenu-accordion .clp-profile-menu .menu .sub-menu li a{ color:rgba(255, 255, 255, .85); }

/* Caret for items with children */
.clp-profile-menu .menu .menu-item-has-children > a{ padding-right:1.25rem; position:relative; }
.clp-profile-menu .menu .menu-item-has-children > a .clp-caret{ position:absolute; right:.35rem; top:50%; transform:translateY(-50%) rotate(0deg); transition:transform .15s ease; opacity:1; font-size:.9em; color:rgba(255, 255, 255, .7); }
.clp-profile-menu .menu li.is-open > a .clp-caret,
.clp-nav-menu.clp-submenu-stack .clp-profile-menu .menu li:hover > a .clp-caret{ transform:translateY(-50%) rotate(90deg); }

/* FLYOUT */
.clp-nav-menu.clp-submenu-flyout .clp-profile-menu .menu li{ position:relative; }
.clp-nav-menu.clp-submenu-flyout .clp-profile-menu .menu .sub-menu{ display:none; position:absolute; left:100%; top:0; min-width:220px; background:#fff; border:1px solid #e5e7eb; border-radius:8px; padding:.25rem .5rem; box-shadow:0 6px 16px rgba(0,0,0,.06); z-index:1000; list-style:none; }
.clp-nav-menu.clp-submenu-flyout .clp-profile-menu .menu .sub-menu li a{ color:#111827; }
.clp-nav-menu.clp-submenu-flyout .clp-profile-menu .menu li:hover > .sub-menu,
.clp-nav-menu.clp-submenu-flyout .clp-profile-menu .menu li:focus-within > .sub-menu,
.clp-nav-menu.clp-submenu-flyout .clp-profile-menu .menu li.is-open > .sub-menu{ display:block; }

/* STATIC */
.clp-nav-menu.clp-submenu-static .clp-profile-menu .menu .sub-menu{ display:block; margin:.25rem 0 .5rem 0.5rem; padding-left:.5rem; border-left:2px solid rgba(255, 255, 255, .2); list-style:none; }
.clp-nav-menu.clp-submenu-static .clp-profile-menu .menu .sub-menu li a{ color:rgba(255, 255, 255, .85); }
.clp-nav-menu.clp-submenu-static .clp-profile-menu .menu .menu-item-has-children > a .clp-caret{ display:none; }

/* OFFCANVAS */
.clp-nav-menu.clp-submenu-offcanvas .clp-profile-grid{ grid-template-columns:1fr; }
.clp-nav-menu.clp-submenu-offcanvas .clp-profile-brand{ position:fixed; left:-280px; top:0; bottom:0; width:260px; background:#fff; border-right:1px solid #e5e7eb; padding:1rem; box-shadow:0 6px 16px rgba(0,0,0,.06); transition:left .2s ease; z-index:1100; }
.clp-nav-menu.clp-submenu-offcanvas .clp-profile-brand.is-open{ left:0; }
.clp-nav-menu.clp-submenu-offcanvas .clp-dynamic-bar .clp-toggle{ display:inline-flex; align-items:center; gap:.4rem; padding:.4rem .6rem; border:1px solid #e5e7eb; border-radius:6px; background:#fff; cursor:pointer; }
.clp-nav-menu.clp-submenu-offcanvas .clp-offcanvas-backdrop{ position:fixed; inset:0; background:rgba(0,0,0,.3); display:none; z-index:1000; }
.clp-nav-menu.clp-submenu-offcanvas .clp-offcanvas-backdrop.is-open{ display:block; }

/* MEGA */
.clp-nav-menu.clp-submenu-mega .clp-profile-menu .menu li{ position:relative; }
.clp-nav-menu.clp-submenu-mega .clp-profile-menu .menu .sub-menu{ display:none; position:absolute; left:100%; top:0; width:min(560px,70vw); background:#fff; border:1px solid #e5e7eb; border-radius:10px; padding:.5rem; box-shadow:0 10px 24px rgba(0,0,0,.08); z-index:1000; column-count:2; column-gap:1rem; list-style:none; }
.clp-nav-menu.clp-submenu-mega .clp-profile-menu .menu .sub-menu li a{ color:#111827; }
.clp-nav-menu.clp-submenu-mega .clp-profile-menu .menu li:hover > .sub-menu,
.clp-nav-menu.clp-submenu-mega .clp-profile-menu .menu li:focus-within > .sub-menu,
.clp-nav-menu.clp-submenu-mega .clp-profile-menu .menu li.is-open > .sub-menu{ display:block; }

/* ===== TABS MODE ===== */
.clp-nav-tabs .clp-profile-grid{ grid-template-columns:1fr; }
.clp-nav-tabs .clp-profile-brand{ display:none; }
/* Top-level tabs row */
.clp-nav-tabs .clp-dynamic-bar .clp-tabs .menu{ display:flex !important; gap:.35rem; flex-wrap:wrap; border-bottom:1px solid #e5e7eb; margin:0 0 .5rem 0; padding:0; align-items:flex-end; }
.clp-nav-tabs .clp-dynamic-bar .clp-tabs .menu > li{ list-style:none; margin:0; }
/* Hide all nested submenus in the top tabs row */
.clp-nav-tabs .clp-dynamic-bar .clp-tabs .menu .sub-menu{ display:none !important; }
.clp-nav-tabs .clp-dynamic-bar .clp-tabs .menu > li > a{ display:inline-block; padding:.45rem .7rem; border:1px solid transparent; border-bottom:none; border-radius:8px 8px 0 0; text-decoration:none; color:#111827; background:#f3f4f6; }
.clp-nav-tabs .clp-dynamic-bar .clp-tabs .menu > li.current-menu-item > a,
.clp-nav-tabs .clp-dynamic-bar .clp-tabs .menu > li > a:hover{ background:#fff; border-color:#e5e7eb; }
/* Submenu tabs (second row) */
.clp-nav-tabs .clp-dynamic-bar .clp-subtabs > ul:first-child{ display:flex !important; gap:.25rem; flex-wrap:wrap; margin:0 0 .65rem 0; padding:0; }
.clp-nav-tabs .clp-dynamic-bar .clp-subtabs .menu{ display:flex !important; gap:.25rem; flex-wrap:wrap; margin:0 0 .65rem 0; padding:0; }
.clp-nav-tabs .clp-dynamic-bar .clp-subtabs .menu > li{ list-style:none; }
/* Ensure deeper nested lists are hidden in sub-tabs too */
.clp-nav-tabs .clp-dynamic-bar .clp-subtabs .menu .sub-menu,
.clp-nav-tabs .clp-dynamic-bar .clp-subtabs > ul:first-child .sub-menu{ display:none !important; }
.clp-nav-tabs .clp-dynamic-bar .clp-subtabs .menu > li > a,
.clp-nav-tabs .clp-dynamic-bar .clp-subtabs > ul:first-child > li > a{ display:inline-block; padding:.35rem .6rem; border:1px solid #e5e7eb; border-radius:6px; text-decoration:none; color:#111827; background:#fff; }

/* ===== Branded Auth Experience ===== */
.clp-auth-shell{
	--clp-auth-navy:#0b2a4a;
	--clp-auth-ink:#132f49;
	--clp-auth-sky:#1275bf;
	--clp-auth-ice:#eaf5ff;
	--clp-auth-soft:#f8fbff;
	position:relative;
	max-width:980px;
	margin:2.5rem auto;
	padding:1.35rem;
	font-family:"Trebuchet MS", "Lucida Sans Unicode", "Lucida Grande", sans-serif;
}
.clp-auth-aurora{
	position:absolute;
	inset:0;
	background:
		radial-gradient(circle at 8% 18%, rgba(10,79,154,.3), transparent 44%),
		radial-gradient(circle at 86% 82%, rgba(17,152,137,.22), transparent 40%),
		linear-gradient(130deg, rgba(3,19,38,.14), rgba(18,92,169,.08));
	filter:blur(3px);
	pointer-events:none;
}
.clp-auth-card{
	position:relative;
	z-index:1;
	border-radius:22px;
	border:1px solid #ced9e9;
	background:#fff;
	box-shadow:0 28px 58px rgba(11,36,67,.16);
	overflow:hidden;
	animation:clpAuthRise .42s ease-out;
}
.clp-auth-grid{ display:grid; grid-template-columns:minmax(240px, 1fr) minmax(320px, 1.15fr); }
.clp-auth-brand{
	background:
		linear-gradient(155deg, rgba(6,30,57,.96) 0%, rgba(9,54,95,.95) 62%, rgba(10,87,143,.9) 100%);
	color:#fff;
	padding:2.15rem 1.9rem;
	position:relative;
}
.clp-auth-brand::before{
	content:"";
	position:absolute;
	inset:auto -60px -80px auto;
	width:220px;
	height:220px;
	border-radius:999px;
	background:radial-gradient(circle, rgba(118,216,255,.28) 0%, rgba(118,216,255,0) 72%);
}
.clp-auth-kicker{ margin:0 0 .5rem; font-size:.74rem; letter-spacing:.15em; text-transform:uppercase; color:#99cff5; font-weight:700; }
.clp-auth-brand h2{ margin:0 0 .55rem; font-size:2rem; line-height:1.07; letter-spacing:.015em; }
.clp-auth-brand-lead{ margin:0 0 1.15rem; color:#c8def2; line-height:1.45; font-size:.95rem; }
.clp-auth-points{ margin:0; padding:0; list-style:none; display:grid; gap:.65rem; }
.clp-auth-points li{ position:relative; padding-left:1.25rem; font-size:.9rem; color:#dcebf9; line-height:1.35; }
.clp-auth-points li::before{ content:""; position:absolute; left:0; top:.45rem; width:.45rem; height:.45rem; border-radius:999px; background:#6acbff; box-shadow:0 0 0 3px rgba(106,203,255,.22); }
.clp-auth-panel{ background:linear-gradient(180deg, #ffffff 0%, var(--clp-auth-soft) 100%); padding:2.05rem 1.95rem 1.8rem; }
.clp-auth-header{ margin-bottom:1rem; }
.clp-auth-state{ margin:0 0 .45rem; color:#0f628f; font-size:.74rem; letter-spacing:.13em; font-weight:700; text-transform:uppercase; }
.clp-auth-header h3{ margin:0 0 .2rem; color:var(--clp-auth-navy); font-size:1.7rem; line-height:1.1; }
.clp-auth-subtitle{ margin:0; color:#3d5e7d; font-size:.96rem; }
.clp-auth-form p{ margin:0 0 .92rem; }
.clp-auth-form label{ font-weight:700; color:var(--clp-auth-ink); font-size:.9rem; display:block; margin-bottom:.35rem; letter-spacing:.01em; }
.clp-auth-form input[type=text],
.clp-auth-form input[type=password],
.clp-auth-form input[type=email]{ width:100%; max-width:none; border:1px solid #bfd0e0; border-radius:12px; padding:.7rem .8rem; font-size:1rem; background:#fff; transition:border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.clp-auth-form input[type=text]:focus,
.clp-auth-form input[type=password]:focus,
.clp-auth-form input[type=email]:focus{ border-color:var(--clp-auth-sky); box-shadow:0 0 0 3px rgba(18,117,191,.18); transform:translateY(-1px); outline:none; }
.clp-auth-submit{ width:100%; border-radius:12px; height:46px; font-weight:700; font-size:.98rem; letter-spacing:.02em; background:linear-gradient(120deg,#1168aa 0%, #083f73 100%); border:1px solid #0a4c84; text-transform:uppercase; }
.clp-auth-submit:hover{ filter:brightness(1.06); }
.clp-auth-links{ margin:.75rem 0 0; text-align:center; }
.clp-auth-links a{ color:#0b5e95; font-weight:700; text-decoration:none; }
.clp-auth-links a:hover{ text-decoration:underline; }
.clp-auth-form .clp-remember label{ display:flex; align-items:center; gap:.45rem; font-weight:600; font-size:.88rem; color:#375777; }
.clp-auth-form .clp-remember input[type=checkbox]{ accent-color:#0e6fab; }

.clp-auth-panel-state{ display:flex; flex-direction:column; justify-content:center; }
.clp-auth-status-card{ margin:1rem 0 1.15rem; padding:1rem 1rem .95rem; border:1px solid #d7e4ef; border-radius:14px; background:linear-gradient(160deg,#f8fbff 0%,#eef5fc 100%); box-shadow:inset 0 1px 0 rgba(255,255,255,.7); }
.clp-auth-status-label{ margin:0 0 .3rem; color:#0f628f; font-size:.74rem; letter-spacing:.13em; font-weight:700; text-transform:uppercase; }
.clp-auth-status-value{ margin:0; color:var(--clp-auth-navy); font-size:1rem; font-weight:700; word-break:break-word; }
.clp-auth-actions{ display:flex; gap:.75rem; align-items:center; flex-wrap:wrap; }
.clp-auth-action-primary,
.clp-auth-action-secondary{ min-height:44px; border-radius:12px; padding:.7rem 1rem; font-weight:700; display:inline-flex; align-items:center; justify-content:center; }
.clp-auth-action-primary{ border-color:#0a4c84; background:linear-gradient(120deg,#1168aa 0%, #083f73 100%); color:#fff; }
.clp-auth-action-primary:hover{ filter:brightness(1.06); }
.clp-auth-action-secondary{ border:1px solid #bfd0e0; background:#fff; color:var(--clp-auth-ink); }
.clp-auth-action-secondary:hover{ background:#eef5fc; }

.clp-auth-panel .clp-error,
.clp-auth-panel .clp-notice{ border-radius:10px; margin-bottom:1rem; }

@keyframes clpAuthRise{
	from{ opacity:0; transform:translateY(12px); }
	to{ opacity:1; transform:translateY(0); }
}

/* ===== Solid Security 2FA Branding on wp-login.php ===== */
body.login.clp-itsec-2fa{ background:
	radial-gradient(circle at 12% 12%, rgba(14,89,169,.22), transparent 42%),
	radial-gradient(circle at 86% 18%, rgba(16,153,153,.25), transparent 38%),
	linear-gradient(165deg,#eef4fb 0%, #dfeaf5 48%, #e8eef8 100%);
}
body.login.clp-itsec-2fa #login{ width:min(100%, 620px); padding-top:6.5vh; }
body.login.clp-itsec-2fa #loginform,
body.login.clp-itsec-2fa form#itsec-2fa{ border-radius:16px; border:1px solid #cad9e8; box-shadow:0 22px 50px rgba(7,26,52,.16); padding:26px 24px; background:#fff; }
body.login.clp-itsec-2fa .clp-itsec-2fa-panel{ margin:0 0 16px; padding:14px 16px 16px; border:1px solid #d7e4ef; border-radius:12px; background:linear-gradient(160deg,#f8fbff 0%,#eef5fc 100%); }
body.login.clp-itsec-2fa .clp-itsec-2fa-kicker{ margin:0; text-transform:uppercase; font-size:11px; letter-spacing:.12em; color:#0c5d85; font-weight:700; }
body.login.clp-itsec-2fa .clp-itsec-2fa-panel h3{ margin:.25rem 0 .4rem; font-size:1.1rem; color:#123455; }
body.login.clp-itsec-2fa .clp-itsec-2fa-lead{ margin:0 0 .75rem; color:#3b5673; font-size:.92rem; }
body.login.clp-itsec-2fa .clp-itsec-2fa-meta{ margin:.75rem 0 0; color:#58718b; font-size:.82rem; }
body.login.clp-itsec-2fa .clp-itsec-2fa-slot p{ margin-bottom:.8rem; }
body.login.clp-itsec-2fa .clp-itsec-2fa-slot input[type=tel],
body.login.clp-itsec-2fa .clp-itsec-2fa-slot input[type=text]{ width:100%; border:1px solid #bfd0e0; border-radius:10px; height:40px; padding:0 .7rem; }
body.login.clp-itsec-2fa .clp-itsec-2fa-slot input[type=tel]:focus,
body.login.clp-itsec-2fa .clp-itsec-2fa-slot input[type=text]:focus{ border-color:#0f6eaf; box-shadow:0 0 0 3px rgba(15,110,175,.18); outline:none; }
body.login.clp-itsec-2fa .clp-itsec-2fa-slot .button,
body.login.clp-itsec-2fa .clp-itsec-2fa-slot .button-primary{ width:100%; border-radius:10px; min-height:42px; font-weight:600; }

@media (max-width: 680px){
	.clp-auth-shell{ margin:1.3rem auto; padding:.4rem; }
	.clp-auth-card{ border-radius:14px; }
	.clp-auth-grid{ grid-template-columns:1fr; }
	.clp-profile-grid{ grid-template-columns:1fr; }
	.clp-auth-brand,
	.clp-auth-panel,
	.clp-profile-panel{ padding:1.25rem 1rem; }
	.clp-auth-actions{ flex-direction:column; align-items:stretch; }
	.clp-auth-action-primary,
	.clp-auth-action-secondary{ width:100%; }
	.clp-auth-brand h2{ font-size:1.55rem; }
	.clp-auth-header h3{ font-size:1.35rem; }
	body.login.clp-itsec-2fa #login{ padding-top:3vh; }
}
