/* WordPress additions for the NAIMA theme. */

/* The hidden attribute must win over component display rules. */
.naima-public [hidden] { display: none !important; }

/* Keep the header below the admin toolbar for logged-in users. */
.admin-bar .np-header { top: 32px; }
@media screen and (max-width: 782px) { .admin-bar .np-header { top: 46px; } }
@media screen and (max-width: 600px) { .admin-bar .naima-home-reference .np-header { top: 0; } }

/* Location menu items are links. */
.np-location-option { text-decoration: none; }

/* Check-mark lists in articles and information pages (editor "List" blocks). */
.np-content ul.np-checks,
.naima-entry ul.np-checks { list-style: none; padding: 0; margin: 14px 0; }
.np-content ul.np-checks li,
.naima-entry ul.np-checks li { display: flex; gap: 12px; margin: 14px 0; color: var(--np-muted); font-size: 14px; line-height: 1.8; }
.np-content ul.np-checks li::before,
.naima-entry ul.np-checks li::before {
	content: ""; flex: 0 0 16px; height: 16px; margin-top: 6px; background-color: var(--detail-accent, #D12E20);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat;
}
@media (max-width: 760px) { .np-content ul.np-checks li { font-size: 13px; } }
.np-content ul:not(.np-checks), .naima-entry ul:not(.np-checks) { list-style: disc; padding-left: 1.4em; margin: 14px 0; color: var(--np-muted); }
.np-content ol, .naima-entry ol { list-style: decimal; padding-left: 1.4em; margin: 14px 0; color: var(--np-muted); }
.np-content a, .naima-entry a { color: var(--np-blue, #245ea6); text-decoration: underline; }
.np-content h3, .naima-entry h3 { font-size: 18px; font-weight: 600; margin: 28px 0 10px; }
.np-content img, .naima-entry img { height: auto; max-width: 100%; }

/* FAQ page: editor "Details" blocks look like the original accordion. */
.np-faqs details > summary::-webkit-details-marker { display: none; }
.np-faqs details > summary::after {
	content: ""; flex: 0 0 18px; height: 18px; background-color: currentColor; transition: transform .2s;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
}
.np-faqs details[open] > summary::after { transform: rotate(180deg); }
.np-faqs details > p { font-size: 13px; color: var(--np-muted); margin-top: 20px; }
@media (max-width: 760px) { .np-faqs details > p { font-size: 12px; } }

/* Generic pages, plugin pages (cart, checkout, LMS dashboards) and the portal sign-in. */
.naima-entry { max-width: 1100px; }
.naima-entry > * + * { margin-top: 1em; }
.naima-entry p { color: var(--np-muted); font-size: 15px; }
.naima-entry input[type="text"], .naima-entry input[type="email"], .naima-entry input[type="password"], .naima-entry input[type="tel"], .naima-entry input[type="number"], .naima-entry select, .naima-entry textarea,
.naima-login input[type="text"], .naima-login input[type="password"] {
	width: 100%; border: 1px solid var(--np-line, #dce2e9); background: #fff; padding: 12px 14px; font-size: 14px; border-radius: 2px;
}
.naima-entry button, .naima-entry input[type="submit"], .naima-entry .button,
.naima-login input[type="submit"] {
	background: var(--np-ink, #142e52); color: #fff; border: 0; padding: 13px 22px; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; cursor: pointer;
}
.naima-login { max-width: 520px; }
.naima-login form p { margin: 0 0 16px; }
.naima-login label { display: block; font-size: 13px; font-weight: 600; margin-bottom: 6px; color: var(--np-ink); }
.naima-login .login-remember label { display: inline-flex; gap: 8px; align-items: center; font-weight: 400; }
.naima-login-links { font-size: 13px; margin-top: 8px; }
.naima-login-links a { color: var(--np-blue, #245ea6); text-decoration: underline; }
.naima-pagination { display: flex; justify-content: space-between; padding-bottom: 60px; font-size: 14px; }
.naima-pagination a { color: var(--np-blue, #245ea6); }

/* Article cards: dates and excerpts from WordPress. */
.np-article-card > a > img { width: 100%; }

/* Skip link */
.naima-skip { position: absolute; left: -9999px; top: 0; z-index: 1000; background: #fff; color: #142e52; padding: 10px 16px; }
.naima-skip:focus { left: 10px; top: 10px; }

/* Collections with no image yet */
.np-mega-image:empty { display: block; background: #e8edf4; }
.nc-photo-card > .np-image-fallback { position: absolute; inset: 0; width: 100%; height: 100%; }

/* Inner blocks inside "Information + side box" */
.naima-inner > *:first-child { margin-top: 0; }
.naima-inner h2 { font-family: Inter, Arial, sans-serif; font-size: 23px; font-weight: 600; margin: 38px 0 16px; line-height: 1.4; }
.naima-inner p { margin: 14px 0; color: var(--np-muted); font-size: 14px; }

/* Custom footer logo keeps its own colours */
.np-footer-logo.naima-footer-logo-custom { filter: none; }

/* Responsive fix: photo cards must not grow wider than their grid column (tablet / small laptop widths). */
.nc-photo-grid > .nc-photo-card { width: 100%; max-width: 100%; }
