/* Astor — component styles used by the templates and patterns (tokens come from theme.json).
   Mockups: docs/design/mockups/Asfalt.dc.html and the A1–A7 boards. */

:root {
	--astor-radius: 6px;
	--astor-radius-lg: 12px;
}

/* ---------- Generic ---------- */
.astor-uppercase { text-transform: uppercase; letter-spacing: 0.06em; }
.astor-muted { color: var(--wp--preset--color--slate); }
.astor-dark .astor-muted, .has-ink-background-color .astor-muted, .has-base-background-color .astor-muted, .astor-card .astor-muted, .astor-page-head .astor-muted, .astor-footer .astor-muted { color: var(--wp--preset--color--muted); }
.astor-icon-tile { width: 52px; height: 52px; border-radius: 10px; background: #FDECEC; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 0.25rem; }
.astor-slate { color: var(--wp--preset--color--slate); }

/* Light sections (white or light background) use dark text and dark links. */
.has-light-background-color,
.has-white-background-color {
	color: var(--wp--preset--color--ink);
}
.has-light-background-color a:where(:not(.wp-element-button)),
.has-white-background-color a:where(:not(.wp-element-button)) {
	color: var(--wp--preset--color--ink);
}
.has-light-background-color a:where(:not(.wp-element-button)):hover,
.has-white-background-color a:where(:not(.wp-element-button)):hover {
	color: var(--wp--preset--color--primary);
}
.has-light-background-color .astor-muted,
.has-white-background-color .astor-muted {
	color: var(--wp--preset--color--slate);
}

/* ---------- Eyebrow label ---------- */
.is-style-astor-eyebrow,
.astor-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
}
.is-style-astor-eyebrow::before,
.astor-eyebrow::before {
	content: "";
	display: inline-block;
	width: 28px;
	height: 3px;
	background: var(--wp--preset--color--primary);
}

/* Lead paragraph under titles */
.is-style-astor-lead,
.astor-lead {
	font-size: 1.125rem;
	line-height: 1.55;
	color: var(--wp--preset--color--slate);
	max-width: 42rem;
}
.astor-page-head .astor-lead,
.astor-page-head .wp-block-post-excerpt__excerpt,
.astor-page-head .wp-block-term-description {
	font-size: 1.125rem;
	line-height: 1.55;
	color: #D1D5DB;
	max-width: 42rem;
}

/* ---------- Buttons ---------- */
.wp-block-button.is-style-astor-ghost .wp-block-button__link {
	background: transparent;
	color: #fff;
	border: 1.5px solid rgba(255, 255, 255, 0.5);
}
.wp-block-button.is-style-astor-ghost .wp-block-button__link:hover {
	border-color: #fff;
	color: #fff;
}
.wp-block-button.is-style-astor-dark .wp-block-button__link {
	background: var(--wp--preset--color--base);
	color: #fff;
}
.wp-block-button.is-style-astor-dark .wp-block-button__link:hover {
	background: #000;
	color: #fff;
}
.wp-block-button.is-style-astor-line .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--ink);
	border: 1.5px solid var(--wp--preset--color--ink);
}
.wp-block-button.is-style-astor-line .wp-block-button__link:hover {
	background: var(--wp--preset--color--ink);
	color: #fff;
}
.wp-block-button.astor-btn-phone .wp-block-button__link {
	text-transform: none;
	letter-spacing: 0;
	font-size: 1.0625rem;
}

/* ---------- Cards ---------- */
.is-style-astor-card,
.astor-card {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--astor-radius);
	padding: 2rem;
	height: 100%;
	box-sizing: border-box;
}
.is-style-astor-card-light,
.astor-card-light {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line-light);
	border-radius: var(--astor-radius);
	padding: 2rem;
	color: var(--wp--preset--color--ink);
	height: 100%;
	box-sizing: border-box;
}
.astor-card-light.astor-card-top {
	border-top: 4px solid var(--wp--preset--color--primary);
}
.astor-card-light a:where(:not(.wp-element-button)) { color: var(--wp--preset--color--ink); }
.astor-card .astor-muted { color: var(--wp--preset--color--slate); }
.astor-dark .astor-muted, .has-ink-background-color .astor-muted, .has-base-background-color .astor-muted, .astor-card .astor-muted, .astor-page-head .astor-muted, .astor-footer .astor-muted { color: var(--wp--preset--color--muted); }
.astor-icon-tile { width: 52px; height: 52px; border-radius: 10px; background: #FDECEC; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 0.25rem; }
.astor-card-light .astor-muted { color: var(--wp--preset--color--slate); }
.astor-card-link { text-decoration: none; display: block; color: inherit; }
.astor-card-link:hover { border-color: var(--wp--preset--color--primary); }

/* Numbered item (puncte de lucru, process steps) */
.is-style-astor-number,
.astor-number {
	font-family: var(--wp--preset--font-family--space-grotesk);
	font-weight: 700;
	font-size: 2rem;
	line-height: 1;
	color: var(--wp--preset--color--primary);
	text-transform: none;
	margin: 0;
}
.astor-number.astor-number-grey { color: #6B7280; }
.astor-step { border-top: 3px solid var(--wp--preset--color--primary); padding-top: 1.1rem; }

/* Counter tiles */
.astor-counters .wp-block-column { display: flex; flex-direction: column; gap: 6px; background: var(--wp--preset--color--light); border-radius: var(--astor-radius-lg); padding: 1.6rem 1.75rem; box-sizing: border-box; }
.astor-counters .astor-counter-value {
	font-family: var(--wp--preset--font-family--space-grotesk);
	font-weight: 700;
	font-size: 2.75rem;
	line-height: 1;
	margin: 0;
	color: var(--wp--preset--color--primary);
}
.astor-counters .astor-counter-label {
	margin: 0;
	font-size: 0.9375rem;
	font-weight: 600;
	color: var(--wp--preset--color--ink);
}

/* Chips (sorturi) */
.astor-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; }
.astor-chip,
.astor-chips span {
	display: inline-flex;
	align-items: center;
	padding: 0 11px;
	min-height: 30px;
	border-radius: 4px;
	background: var(--wp--preset--color--light);
	color: var(--wp--preset--color--ink);
	font-size: 0.8125rem;
	font-weight: 600;
	white-space: nowrap;
}
.astor-card .astor-chip,
.has-base-background-color .astor-chip { background: var(--wp--preset--color--surface); color: var(--wp--preset--color--light); border: 1px solid var(--wp--preset--color--line); }

/* Tick list */
.is-style-astor-ticks { list-style: none; padding-left: 0; }
.is-style-astor-ticks li { position: relative; padding-left: 1.6rem; margin-bottom: 0.4rem; }
.is-style-astor-ticks li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.45em;
	width: 0.55rem;
	height: 0.3rem;
	border-left: 2.5px solid var(--wp--preset--color--primary);
	border-bottom: 2.5px solid var(--wp--preset--color--primary);
	transform: rotate(-45deg);
}

/* Rounded images */
.is-style-astor-rounded img,
.astor-rounded img { border-radius: var(--astor-radius); }

/* Image cards (product groups) */
.astor-image-card { position: relative; border-radius: var(--astor-radius); overflow: hidden; min-height: 280px; display: flex; align-items: flex-end; text-decoration: none; color: #fff; }
.astor-image-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.astor-image-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(21, 24, 29, 0.1) 30%, rgba(21, 24, 29, 0.9) 100%); }
.astor-image-card > span { position: relative; z-index: 1; padding: 28px; display: flex; flex-direction: column; gap: 8px; }
.astor-image-card .astor-image-card-kicker { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--wp--preset--color--primary-light); }
.astor-image-card .astor-image-card-title { font-family: var(--wp--preset--font-family--space-grotesk); font-weight: 700; font-size: 1.875rem; line-height: 1.05; }
.astor-image-card .astor-image-card-text { font-size: 0.875rem; color: #E5E7EB; }
.astor-image-card:hover .astor-image-card-title { color: var(--wp--preset--color--primary-light); }

/* ---------- Header ---------- */
.astor-promo { font-size: 0.8125rem; font-weight: 600; text-align: center; }
.astor-promo p { margin: 0; }
.astor-header { border-bottom: 1px solid var(--wp--preset--color--line-light); }
.astor-header .wp-block-group { min-height: 0; }
.astor-logo { display: inline-flex; align-items: center; gap: 2px; text-decoration: none; color: var(--wp--preset--color--ink); }
.astor-footer .astor-logo { color: #fff; }
.astor-logo svg { width: 110px; height: 35px; display: block; }
.astor-logo span {
	font-family: var(--wp--preset--font-family--space-grotesk);
	font-weight: 700;
	font-size: 2rem;
	font-style: italic;
	letter-spacing: -0.03em;
	line-height: 1;
	margin-left: -4px;
}
.astor-logo:hover { color: var(--wp--preset--color--ink); }
.astor-footer .astor-logo:hover { color: #fff; }
.astor-footer .astor-logo svg { width: 92px; height: 29px; }
.astor-footer .astor-logo span { font-size: 1.625rem; }
.astor-header .wp-block-navigation .wp-block-navigation-item__content { padding: 0.5rem 0; }
.astor-header .wp-block-navigation .current-menu-item > a,
.astor-header .wp-block-navigation .current-menu-ancestor > a { color: var(--wp--preset--color--primary); }
.astor-header .wp-block-navigation__submenu-container { background: #fff; border: 1px solid var(--wp--preset--color--line-light); border-radius: var(--astor-radius); box-shadow: 0 6px 20px rgba(17, 24, 39, 0.08); }
.astor-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 0.6rem 1rem; text-transform: none; letter-spacing: 0; font-weight: 500; }
.astor-header-phone { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; text-decoration: none; color: var(--wp--preset--color--ink); white-space: nowrap; }
.astor-header-phone svg { width: 20px; height: 20px; }
.astor-header .wp-block-button__link { padding-top: 0.8rem; padding-bottom: 0.8rem; }
@media (max-width: 900px) {
	.astor-header-phone-text { display: none; }
}

/* ---------- Page head (cover with featured image) ---------- */
.astor-page-head.wp-block-cover { padding-top: 4rem; padding-bottom: 3rem; }
.astor-page-head .wp-block-cover__inner-container { display: flex; flex-direction: column; gap: 1rem; }
.astor-page-head .wp-block-post-title,
.astor-page-head .wp-block-query-title { margin: 0; }
.astor-page-head .wp-block-post-excerpt { margin: 0; }
.astor-page-head .wp-block-cover__background { background-image: linear-gradient(180deg, rgba(21, 24, 29, 0.55) 0%, rgba(21, 24, 29, 0.94) 100%) !important; opacity: 1 !important; }

/* Hero (split: text + photo with a stat card) */
.astor-hero-figure { position: relative; }
.astor-hero-figure img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--astor-radius-lg); display: block; }
.astor-hero-stat { position: absolute; left: 24px; bottom: 24px; background: #fff; border-radius: 8px; padding: 14px 18px; display: flex; gap: 18px; align-items: center; box-shadow: 0 6px 20px rgba(17, 24, 39, 0.12); }
.astor-hero-stat strong { font-family: var(--wp--preset--font-family--space-grotesk); font-weight: 700; font-size: 2rem; line-height: 1; color: var(--wp--preset--color--primary); }
.astor-hero-stat span { font-size: 0.875rem; line-height: 1.35; color: var(--wp--preset--color--slate); max-width: 180px; }
.astor-ticks-inline { display: flex; gap: 1.4rem; flex-wrap: wrap; margin: 0; font-size: 0.875rem; font-weight: 500; color: var(--wp--preset--color--slate); }
.astor-ticks-inline span::before { content: "\2713"; color: var(--wp--preset--color--primary); font-weight: 700; margin-right: 0.4rem; }
.astor-hero.wp-block-cover { padding-top: 5.5rem; padding-bottom: 5.5rem; }
.astor-hero .wp-block-cover__background { background-image: linear-gradient(90deg, rgba(21, 24, 29, 0.85) 0%, rgba(21, 24, 29, 0.35) 55%, rgba(21, 24, 29, 0) 100%) !important; opacity: 1 !important; }
.astor-hero .wp-block-cover__inner-container { display: flex; flex-direction: column; gap: 1.5rem; }
.astor-hero h1 { max-width: 14ch; margin: 0; }
.astor-hero-tags { display: flex; gap: 1.75rem; flex-wrap: wrap; font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--wp--preset--color--muted); margin: 0; }
.astor-hero-tags .astor-hero-tag-red { color: var(--wp--preset--color--primary-light); }

/* ---------- Product cards (query loop) ---------- */
.astor-products .wp-block-post {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line-light);
	border-radius: var(--astor-radius);
	overflow: hidden;
	color: var(--wp--preset--color--ink);
	display: flex;
	flex-direction: column;
}
.astor-products .wp-block-post:hover { border-color: var(--wp--preset--color--ink); }
.astor-products .wp-block-post-featured-image { margin: 0; }
.astor-products .wp-block-post-featured-image img { aspect-ratio: 1 / 1; object-fit: cover; width: 100%; display: block; }
.astor-products .astor-product-body { padding: 1rem; display: flex; flex-direction: column; gap: 0.5rem; border-top: 1px solid var(--wp--preset--color--line-light); flex: 1; }
.astor-products .wp-block-post-title { font-size: 1.125rem; margin: 0; }
.astor-products .wp-block-post-title a { text-decoration: none; color: var(--wp--preset--color--ink); }
.astor-products .wp-block-post-title a:hover { color: var(--wp--preset--color--primary); }
.astor-products .astor-product-kicker { margin: 0; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--wp--preset--color--slate); }
.astor-products .wp-block-buttons { margin-top: auto; }
.astor-products .wp-block-button__link { padding-top: 0.75rem; padding-bottom: 0.75rem; font-size: 0.8125rem; }

/* Portfolio cards (query loop) */
.astor-works .wp-block-post-featured-image img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; border-radius: 4px; display: block; }
.astor-works .wp-block-post-title { font-size: 1.0625rem; margin: 0.6rem 0 0; }
.astor-works .wp-block-post-title a { text-decoration: none; }
.astor-works .wp-block-post-excerpt { margin: 0; }
.astor-works .wp-block-post-excerpt__excerpt { font-size: 0.875rem; color: var(--wp--preset--color--slate); margin: 0.2rem 0 0; }

/* Filter tabs */
.astor-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.astor-tabs a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border-radius: var(--astor-radius); border: 1.5px solid var(--wp--preset--color--line); text-decoration: none; font-weight: 600; font-size: 0.875rem; color: #E5E7EB; }
.astor-tabs a:hover { border-color: #fff; color: #fff; }
.astor-tabs a.is-active { background: var(--wp--preset--color--primary); border-color: var(--wp--preset--color--primary); color: #fff; }

/* ---------- Tables ---------- */
.astor-table-wrap { background: var(--wp--preset--color--white); border-radius: var(--astor-radius); padding: 0.5rem 0.5rem 0; overflow-x: auto; color: var(--wp--preset--color--ink); }
.astor-table-wrap table { border-collapse: collapse; width: 100%; }
.astor-table-wrap th { text-align: left; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #6B7280; padding: 12px 16px; border: 0; border-bottom: 2px solid var(--wp--preset--color--ink); }
.astor-table-wrap td { padding: 14px 16px; border: 0; border-bottom: 1px solid var(--wp--preset--color--line-light); vertical-align: top; }
.astor-table-wrap tr:last-child td { border-bottom: 0; }

/* ---------- Numbered list rows (puncte de lucru) ---------- */
.astor-rows .astor-row { display: flex; gap: 1.5rem; padding: 1.5rem 0; border-top: 1px solid var(--wp--preset--color--line-light); }
.astor-rows .astor-row:last-child { border-bottom: 1px solid var(--wp--preset--color--line-light); }
.astor-dark .astor-rows .astor-row { border-color: var(--wp--preset--color--line); }
.astor-rows .astor-number { min-width: 48px; font-size: 1.75rem; }
.astor-rows h3 { font-size: 1.125rem; margin: 0 0 0.35rem; }
.astor-rows p { margin: 0; color: var(--wp--preset--color--slate); font-size: 0.9375rem; }

/* ---------- Contact ---------- */
.astor-contact-form { background: var(--wp--preset--color--white); color: var(--wp--preset--color--ink); border: 1px solid var(--wp--preset--color--line-light); border-radius: var(--astor-radius); padding: 2.25rem; box-shadow: 0 6px 20px rgba(17, 24, 39, 0.06); }
.astor-contact-form .wpcf7-form label { display: block; font-size: 0.8125rem; font-weight: 600; margin-bottom: 0.35rem; }
.astor-contact-form .wpcf7-form input:not([type="checkbox"]):not([type="submit"]),
.astor-contact-form .wpcf7-form select,
.astor-contact-form .wpcf7-form textarea {
	width: 100%;
	box-sizing: border-box;
	padding: 0.75rem 0.9rem;
	border: 1.5px solid #D1D5DB;
	border-radius: var(--astor-radius);
	font: 500 0.9375rem var(--wp--preset--font-family--inter);
	color: var(--wp--preset--color--ink);
	background: #fff;
}
.astor-contact-form .wpcf7-form input:focus,
.astor-contact-form .wpcf7-form select:focus,
.astor-contact-form .wpcf7-form textarea:focus { outline: 2px solid var(--wp--preset--color--primary); outline-offset: 1px; border-color: var(--wp--preset--color--primary); }
.astor-contact-form .wpcf7-form .astor-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.astor-contact-form .wpcf7-form p { margin: 0 0 1rem; }
.astor-contact-form .wpcf7-form .wpcf7-submit {
	background: var(--wp--preset--color--primary); color: #fff; border: 0; border-radius: var(--astor-radius);
	padding: 1rem 1.5rem; font: 600 0.9375rem var(--wp--preset--font-family--inter); text-transform: uppercase; letter-spacing: 0.04em; cursor: pointer;
}
.astor-contact-form .wpcf7-form .wpcf7-submit:hover { background: var(--wp--preset--color--primary-dark); }
.astor-contact-form .wpcf7-form .wpcf7-list-item { margin: 0; }
.astor-contact-form .wpcf7-form .wpcf7-acceptance label { display: flex; gap: 0.6rem; align-items: flex-start; font-weight: 400; font-size: 0.8125rem; color: var(--wp--preset--color--slate); }
.astor-contact-form .wpcf7-form .wpcf7-not-valid-tip { font-size: 0.8125rem; color: var(--wp--preset--color--primary); }
.astor-contact-form .wpcf7-form .wpcf7-response-output { margin: 1rem 0 0; padding: 0.75rem 1rem; border-radius: var(--astor-radius); border: 1.5px solid var(--wp--preset--color--primary); }
@media (max-width: 640px) { .astor-contact-form .wpcf7-form .astor-form-grid { grid-template-columns: 1fr; } .astor-contact-form { padding: 1.5rem; } }
.astor-contact-details .astor-row { display: flex; gap: 14px; align-items: flex-start; padding: 18px 0; border-top: 1px solid var(--wp--preset--color--line-light); }
.astor-contact-details .astor-row:last-of-type { border-bottom: 1px solid var(--wp--preset--color--line-light); }
.astor-contact-details .astor-row svg { flex: none; width: 22px; height: 22px; }
.astor-contact-details .astor-row p { margin: 0; }
.astor-contact-details .astor-row a { text-decoration: none; font-weight: 700; color: var(--wp--preset--color--ink); }
.astor-contact-details .astor-row a:hover { color: var(--wp--preset--color--primary); }
.astor-map { border-radius: var(--astor-radius); overflow: hidden; border: 1px solid var(--wp--preset--color--line-light); background: var(--wp--preset--color--light); margin-top: 1.5rem; }
.astor-map iframe { display: block; width: 100%; height: 300px; border: 0; }

/* ---------- Footer ---------- */
.astor-footer { color: var(--wp--preset--color--muted); }
.astor-footer a:where(:not(.wp-element-button)) { color: var(--wp--preset--color--muted); text-decoration: none; font-size: 0.875rem; }
.astor-footer a:where(:not(.wp-element-button)):hover { color: #fff; }
.astor-footer .astor-footer-title { color: #fff; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; font-size: 0.8125rem; margin: 0 0 0.5rem; }
.astor-footer p { font-size: 0.875rem; }
.astor-footer .astor-footer-phone { color: #fff; font-weight: 700; font-size: 1.125rem; }
.astor-footer-bottom { border-top: 1px solid rgba(255, 255, 255, 0.08); font-size: 0.8125rem; }
.astor-footer-bottom p { margin: 0; font-size: 0.8125rem; }
.astor-footer .wp-block-columns { gap: 2.5rem; }

/* Mobile: columns of cards stack, keep gaps tight */
@media (max-width: 781px) {
	.astor-counters .wp-block-column { padding: 0.25rem 0; }
	.astor-rows .astor-row { gap: 1rem; }
}

/* Editor only */
.editor-styles-wrapper .astor-logo { pointer-events: none; }

/* Covers: the cover's inner container ignores the wide alignment of its children; force the wide width
   so page heads and the hero line up with the header (1216 px, like .alignwide). */
.astor-page-head .wp-block-cover__inner-container > *,
.astor-hero .wp-block-cover__inner-container > * {
	max-width: var(--wp--style--global--wide-size, 1216px) !important;
	width: 100%;
	box-sizing: border-box;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* The cover's overlay span carries an opaque background colour; keep only our gradient so the photo shows. */
.astor-page-head .wp-block-cover__background,
.astor-hero .wp-block-cover__background {
	background-color: transparent !important;
}

/* Light look (2026-10-23 evening): hero headline sized like board B, normal-case submit button. */
.astor-hero-section h1 { font-size: clamp(2.25rem, 3.9vw, 3.375rem); letter-spacing: -0.025em; line-height: 1.02; }
.astor-contact-form .wpcf7-form .wpcf7-submit { text-transform: none; letter-spacing: 0; }

/* Logo: traced from the original astorcom.ro files (docs/design/logo/). Header = WP custom logo (site-logo block),
   footer = the white SVG. */
.astor-header .wp-block-site-logo { margin: 0; line-height: 0; }
.astor-header .wp-block-site-logo img { height: 30px; width: auto; display: block; }
.astor-footer .astor-logo img { height: 26px; width: auto; display: block; }

/* Legal pages (docs/legal/*.html, imported by scripts/legal-privacy-update.php). */
.astor-legal { font-size: 0.9375rem; }
.astor-legal .astor-lead { font-size: 1.125rem; color: var(--wp--preset--color--slate); }
.astor-legal .astor-legal-updated { font-size: 0.8125rem; color: var(--wp--preset--color--muted); }
.astor-legal h2 { margin-top: 2.25rem; font-size: 1.375rem; }
.astor-legal table { width: 100%; border-collapse: collapse; font-size: 0.875rem; margin: 1rem 0; }
.astor-legal th, .astor-legal td { border: 1px solid var(--wp--preset--color--line-light); padding: 0.6rem 0.75rem; text-align: left; vertical-align: top; }
.astor-legal th { background: var(--wp--preset--color--light); font-weight: 600; }
.astor-legal code { font-size: 0.8125rem; }
@media (max-width: 640px) { .astor-legal table { display: block; overflow-x: auto; } }

/* Cookie notice (informative; functions.php, wp_footer). */
.astor-cookie-notice { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 1000; display: flex; flex-wrap: wrap; gap: 0.75rem 1.25rem; align-items: center; max-width: 920px; margin: 0 auto; padding: 1rem 1.25rem; background: var(--wp--preset--color--ink); color: #fff; border-radius: var(--astor-radius); box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25); font-size: 0.875rem; }
.astor-cookie-notice[hidden] { display: none; }
.astor-cookie-notice p { flex: 1 1 380px; margin: 0; color: #fff; }
.astor-cookie-notice a { color: #fff; text-decoration: underline; }
.astor-cookie-notice .wp-element-button { min-height: 40px; padding: 0 1.1rem; font-size: 0.875rem; }

/* Click-to-load map on /contact/ (the iframe is created by functions.php after the click). */
.astor-map-placeholder { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.75rem; min-height: 300px; padding: 1.5rem; text-align: center; }
.astor-map-placeholder p { margin: 0; max-width: 460px; font-size: 0.875rem; }

/* Contact form: maths question (mu-plugin astor-contact-antispam). */
.astor-contact-form .wpcf7-form .astor-captcha .wpcf7-form-control-wrap { display: block; margin-top: 0.35rem; }
.astor-contact-form .wpcf7-form .astor-captcha input[type="text"] { width: 120px; }

/* Footer bottom bar: legal links + "Powered by Elastoffice" with the eo mark (same as valpet.ro). */
.astor-footer-legal a { margin-left: 0.25rem; }
.astor-footer-credit img { height: 16px; width: auto; display: inline-block; vertical-align: -3px; margin: 0 6px 0 2px; }
