/*
 * Store portal (<slug>.<base domain>) on top of bootstrap.css + style.css + site.css.
 * Per-store accent colours, picked from each old store's stylesheet, live here because the CSP allows no inline styles.
 */

div.portal-brand img { max-height: 110px; margin-top: 15px; }

.portal-account {
	float: right;
	margin-top: 50px;
	text-align: right;
}
.portal-account form { display: inline-block; margin-left: 10px; }
.portal-account-email { font-size: 15px; }

.portal-content { min-height: 400px; }
.portal-closed { font-size: 16px; }
.portal-form-links { margin: 15px 0 0; text-align: center; }

@media (max-width: 767px) {
	.portal-account { float: none; margin: 0 0 10px; text-align: left; }
	div#header { min-height: 0; }
	body.portal { padding-top: 0; }
	div#header.navbar-fixed-top { position: static; }
}

/* Accent: page heading band and primary buttons. */
.store-cymru   { --store-accent: #0da554; }
.store-la      { --store-accent: #428bca; }
.store-london  { --store-accent: #00769b; }
.store-luxury  { --store-accent: #6c6b50; }
.store-asia    { --store-accent: #00334b; }
.store-build   { --store-accent: #bb2333; }
.store-menu    { --store-accent: #e94b00; }
.store-reit    { --store-accent: #006e9a; }
.store-tickets { --store-accent: #453195; }

body.portal section.jumbotron { background: var(--store-accent, #008CD0); }
body.portal .btn-primary,
body.portal .btn-primary:hover,
body.portal .btn-primary:focus,
body.portal .btn-primary:active {
	background-color: var(--store-accent, #428bca);
	border-color: var(--store-accent, #357ebd);
}
body.portal .btn-primary:hover { filter: brightness(0.9); }

/* Domains page (plan §5.5): compact rows, details collapsed. */
.domains-table { background: #fff; }
.domains-table > tbody + tbody { border-top-width: 1px; }
.domains-table td { vertical-align: middle !important; }
.domain-name { font-weight: bold; }
.domain-expires, .domain-status, .domain-auth-code, .domain-actions { white-space: nowrap; }
.domain-actions { text-align: right; }
.domain-auth-code form { display: inline-block; margin-left: 6px; }

.domain-icons { margin-left: 8px; white-space: nowrap; }
.domain-icon { display: inline-block; margin-right: 6px; font-size: 13px; text-decoration: none !important; }
.domain-icon.is-info { color: #31708f; }
.domain-icon.is-warning { color: #c77c02; }
.domain-icon.is-muted { color: #aaa; }
.domain-icon-legend { font-size: 12px; }
.domain-icon-legend > span { margin-right: 12px; white-space: nowrap; }

.domain-details { display: none; }
.domain-details:target, .domains-table.js-enhanced .domain-details.is-open { display: table-row; }
.domains-table.js-enhanced .domain-details:target:not(.is-open) { display: none; }
.domain-details > td { background: #f9f9f9; border-top: 0 !important; padding: 4px 16px 14px !important; }
.domain-details-grid { display: flex; flex-wrap: wrap; gap: 8px 32px; }
.domain-detail { min-width: 200px; }
.domain-detail h4 { font-size: 13px; font-weight: bold; margin: 10px 0 4px; text-transform: uppercase; color: #777; }
.domain-detail p, .domain-detail ul { margin: 0 0 3px; }
.domain-note { margin: 8px 0 0; font-size: 13px; }
.domain-private-whois-warning { color: #8a6d3b; }
.domain-locked, .domain-redemption { color: #a94442; }
.email-forwards { padding-left: 18px; }
.nameservers { margin: 0; padding-left: 18px; }
.ns-ip { color: #555; }

.google-workspace-box summary { cursor: pointer; display: list-item; }
.google-workspace-instructions ol { padding-left: 20px; }

/* The self-hosted Glyphicons font is older than bootstrap.css: these two glyphs live at their emoji code points. */
.glyphicon-lock:before { content: "\1f512"; }
.glyphicon-briefcase:before { content: "\1f4bc"; }
