/**
 * Footer Builder front-end styles — Phase B.
 *
 * Self-contained grid layout for the row/column structure emitted by
 * Footer_Builder::render(). Mirror of header-builder.css with the
 * `ls-footer-*` prefix and slightly different defaults (taller row
 * height, social/copyright polish).
 */

.ls-footer-rows {
	display: flex;
	flex-direction: column;
	gap: var(--ls-footer-row-gap, 1.5rem);
	width: 100%;
}

.ls-footer-row {
	display: grid;
	gap: var(--ls-footer-col-gap, 1.5rem);
	align-items: start;
}

.ls-footer-col {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	min-width: 0;
}

.ls-cell--spacer { min-height: 1rem; }
.ls-cell__label { font-size: 0.85em; opacity: 0.7; }
.ls-cell--disabled .ls-cell__label { font-style: italic; }

.ls-cell--social .site-footer__social { display: flex; gap: 0.5rem; padding: 0; margin: 0; list-style: none; }
.ls-cell--social .site-footer__social a {
	display: inline-flex; align-items: center; justify-content: center;
	width: 2rem; height: 2rem; border-radius: 50%;
	background: var(--ls-color-bg-alt, #F8FAFC); color: var(--ls-color-text, #0F172A);
	text-decoration: none; font-weight: 600; font-size: 0.8rem;
}
.ls-cell--copyright { font-size: 0.85em; opacity: 0.8; }
.ls-cell--brand .site-footer__title { margin: 0 0 0.25em; }
.ls-cell--brand .site-footer__tagline { margin: 0; opacity: 0.75; }

/* v2 (Sprint 1) — element wrappers + new elements. */
.ls-footer-col__item { display: block; }
.ls-footer-row--bottom-row { border-top: 1px solid var(--ls-color-border, rgba(15,23,42,0.08)); padding-top: 1.25rem; margin-top: 0.5rem; }
.ls-cell--menu .site-footer__heading,
.ls-cell--social .site-footer__heading { margin: 0 0 0.5em; font-size: 0.95em; }
.ls-cell--menu .site-footer__menu { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.35em; font-size: 0.9em; }
.ls-cell--menu .site-footer__menu a { color: inherit; text-decoration: none; opacity: 0.85; }
.ls-cell--menu .site-footer__menu a:hover { opacity: 1; text-decoration: underline; }
.ls-cell--payments .site-footer__payments { display: flex; flex-wrap: wrap; gap: 0.4rem; list-style: none; padding: 0; margin: 0; }
.ls-cell--payments .site-footer__pay {
	font-size: 0.7em; padding: 0.2rem 0.55rem; border-radius: 999px;
	background: var(--ls-color-bg-alt, #F8FAFC); color: var(--ls-color-text, #0F172A);
	border: 1px solid var(--ls-color-border, rgba(15,23,42,0.08));
}
.ls-cell--html,
.ls-cell--text { font-size: 0.9em; }
.ls-cell--search .site-footer__search { display: flex; gap: 0.4rem; }
.ls-cell--search .site-footer__search input {
	flex: 1; padding: 0.45rem 0.7rem; font-size: 0.9em;
	border: 1px solid var(--ls-color-border, rgba(15,23,42,0.12));
	border-radius: 0.4rem; background: var(--ls-color-bg, #fff);
}
.ls-cell--search .site-footer__search button {
	padding: 0.45rem 0.9rem; font-size: 0.9em;
	background: var(--ls-color-primary, #2563EB); color: #fff;
	border: 0; border-radius: 0.4rem; cursor: pointer;
}
.ls-cell--widget-area { font-size: 0.9em; }

/* Sprint 1b: per-element options (Element_Options module). */
.ls-cell--align-left   { text-align: left;   align-items: flex-start; }
.ls-cell--align-center { text-align: center; align-items: center; }
.ls-cell--align-right  { text-align: right;  align-items: flex-end; }
.site-footer__payments--sm .site-footer__pay { font-size: 0.6em;  padding: 0.15rem 0.4rem; }
.site-footer__payments--md .site-footer__pay { font-size: 0.7em;  padding: 0.2rem 0.55rem; }
.site-footer__payments--lg .site-footer__pay { font-size: 0.85em; padding: 0.3rem 0.75rem; }

/* Sprint 1c: customizer control surface (3-row + columns). */
.ls-builder-content { margin-top: 0.75em; }
.ls-builder-devs    { display: flex; gap: 0.4em; margin-bottom: 0.75em; }
.ls-builder-devs .button-primary { background: var(--ls-color-primary, #2563EB); color: #fff; border-color: var(--ls-color-primary, #2563EB); }
.ls-builder-row     { border: 1px solid rgba(15,23,42,0.1); border-radius: 0.4rem; padding: 0.6em; margin-bottom: 0.5em; background: rgba(0,0,0,0.02); }
.ls-builder-row__label { margin: 0 0 0.4em; font-size: 0.85em; text-transform: uppercase; letter-spacing: 0.04em; opacity: 0.7; }
.ls-builder-col     { display: flex; flex-wrap: wrap; gap: 0.3em; align-items: center; margin-bottom: 0.3em; padding: 0.4em; background: #fff; border: 1px dashed rgba(15,23,42,0.12); border-radius: 0.3rem; }
.ls-builder-col__label { font-size: 0.75em; opacity: 0.55; margin-right: 0.4em; min-width: 4em; font-weight: 600; }
.ls-builder-col__bar  { margin-left: auto; display: inline-flex; gap: 0.4em; }
.ls-builder-pill    { display: inline-flex; align-items: center; gap: 0.3em; padding: 0.2em 0.55em; background: var(--ls-color-primary, #2563EB); color: #fff; border-radius: 0.3rem; font-size: 0.85em; }
.ls-builder-pill__remove { background: transparent; border: 0; color: #fff; cursor: pointer; font-size: 1.1em; line-height: 1; padding: 0 0.15em; opacity: 0.7; }
.ls-builder-pill__remove:hover { opacity: 1; }
.ls-builder-add     { font-size: 0.85em; padding: 0.2em 0.4em; border-radius: 0.3rem; border: 1px solid rgba(15,23,42,0.15); }
.ls-builder__reset  { margin-top: 0.5em; }

/* Tablet — collapse to a single column. */
@media (max-width: 900px) {
	.ls-footer-row { grid-template-columns: 1fr !important; }
}

/* Mobile — tighten. */
@media (max-width: 600px) {
	.ls-footer-rows { gap: 1rem; }
	.ls-footer-row  { gap: 1rem; }
}

/* Customizer control surface. */
.customize-control-ls_footer_builder .ls-builder__table { margin: 0.5em 0; }
.ls-builder__col { margin-bottom: 0.5em; }
.ls-builder__col-label { display: block; font-weight: 600; margin-bottom: 0.25em; }
.ls-builder__check { display: inline-block; margin-right: 0.75em; font-weight: 400; }
