/*
Theme Name: Carro Ingeniería
Description: Tema de bloques ligero para Carro Ingeniería.
Version: 1.4.0
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: carro-ingenieria
*/

/* Shared by the front end and the block editor. All content remains core blocks. */
.wp-site-blocks > * { margin-block-start: 0; }
.wp-site-blocks { overflow-wrap: anywhere; }
a { text-underline-offset: .22em; }
:where(a, button, input, textarea, select, summary):focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 4px;
}
.wp-block-button__link { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.wp-block-button.is-style-outline .wp-block-button__link { border: 1px solid currentColor; }
.wp-block-navigation a { padding-block: .65rem; }
.wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--paper); color: var(--wp--preset--color--ink); }
.dc-header { padding-block: 1.5rem; border-bottom: 1px solid var(--wp--preset--color--line); }
.dc-header-row { gap: 1.5rem; }
.dc-header-row > .wp-block-navigation { margin-inline-start: auto; }
.dc-language-switcher { display: flex; align-items: center; gap: .25rem; flex: 0 0 auto; margin: 0; font-size: .8125rem; line-height: 1; letter-spacing: .04em; white-space: nowrap; }
.dc-language-switcher :is(a, span[lang]) { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
.dc-language-switcher a { text-decoration: none; }
.dc-language-switcher a:hover { text-decoration: underline; text-underline-offset: .3em; }
.dc-language-switcher [aria-current] { font-weight: 700; box-shadow: inset 0 -2px var(--wp--preset--color--copper); }
.dc-language-switcher [aria-disabled] { color: var(--wp--preset--color--muted); }
.dc-language-divider { color: var(--wp--preset--color--muted); }
.dc-brand { width: 160px; flex: 0 0 160px; }
.dc-brand p { margin: 0; white-space: nowrap; }
.dc-brand a { text-decoration: none; color: inherit; }
.dc-brand-name { font-size: 28.5px; line-height: 1.15; font-weight: 400; letter-spacing: normal; word-spacing: normal; }
.dc-brand-engineering { font-size: 23px; line-height: 1.2; font-weight: 700; letter-spacing: 2.58px; margin-top: 4px !important; }
.dc-brand-engineering strong { font-weight: 700; }
.dc-section { padding-block: var(--wp--preset--spacing--70); }
.dc-bordered { border-top: 1px solid var(--wp--preset--color--line); }
.dc-page-title { padding-top: var(--wp--preset--spacing--60); }
.dc-page-content { padding-bottom: var(--wp--preset--spacing--60); }
.dc-service-content > * { margin-block-start: 0; }
.dc-kicker { font-family: var(--wp--preset--font-family--mono); font-size: .75rem; line-height: 1.5; letter-spacing: .05em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.dc-hero h1 { max-width: 24ch; }
.dc-section :is(h1, h2, h3) { text-wrap: balance; overflow-wrap: normal; word-break: normal; hyphens: none; }
.dc-section h2 { max-width: 30ch; }
.dc-section p { max-width: 65ch; text-wrap: pretty; }
.dc-hero p:not(.dc-kicker) { max-width: 54ch; }
.dc-hero-role { font-size: clamp(1.125rem, 2vw, 1.375rem); line-height: 1.4; font-weight: 500; color: var(--wp--preset--color--muted); }
.dc-section .wp-block-columns { margin-block-end: 0; }
.dc-section .wp-block-columns + .wp-block-columns,
.dc-section .dc-document { margin-block-start: 1.75rem; }
.dc-section :is(.wp-block-column, .dc-row, .dc-stage, .dc-note) > :last-child { margin-block-end: 0; }
.dc-section .wp-block-column { min-width: 0; }
.dc-section .wp-block-buttons { margin-block-start: 1.5rem; }
.dc-contact .wp-block-column > .wp-block-buttons:first-child { margin-block-start: 0; }
.dc-placeholder { min-height: 260px; display: flex; flex-direction: column; justify-content: center; padding: 1.5rem; border: 1px dashed var(--wp--preset--color--muted); background: var(--wp--preset--color--panel); }
.dc-placeholder p { text-align: center; font-family: var(--wp--preset--font-family--mono); font-size: .875rem; color: var(--wp--preset--color--muted); }
.dc-placeholder:has(img[src]) { padding: 0; border: 0; background: transparent; min-height: 0; display: block; }
.dc-placeholder:has(img[src]) > .dc-image-instruction { display: none; }
.dc-hero .dc-placeholder { min-height: 320px; }
.dc-evidence .dc-placeholder { background: var(--wp--preset--color--paper); }
.dc-document .dc-placeholder { min-height: 190px; }
.dc-note { border-left: 3px solid var(--wp--preset--color--copper); padding-left: 1.25rem; }
.dc-row { padding-block: 1.15rem; border-bottom: 1px solid var(--wp--preset--color--line); }
.dc-row:first-child { padding-top: 0; }
.dc-row h3, .dc-stage h3 { margin-bottom: .6rem; }
.dc-row p, .dc-stage p { color: var(--wp--preset--color--muted); }
.dc-stage { border-top: 1px solid var(--wp--preset--color--line); padding-top: 1.25rem; }
.dc-contact { border-top: 3px solid var(--wp--preset--color--copper); }
.dc-contact a { overflow-wrap: anywhere; }
.dc-footer { padding-block: 2rem; }
.dc-footer a { color: inherit; }
.dc-footer p { margin-block: .3rem; }
.dc-section .wp-block-image img { display: block; height: auto; }
.dc-section .wp-block-image { margin-block: 0; }
.dc-related-link { font-weight: 500; }
.dc-body-prose { max-width: 65ch; }
@media (min-width: 782px) {
  .dc-hero .dc-placeholder { min-height: 340px; }
  .dc-header-row { flex-wrap: nowrap; }
}
@media (min-width: 782px) and (max-width: 959px) {
  .dc-hero .wp-block-columns { flex-wrap: wrap !important; }
  .dc-hero .wp-block-columns > .wp-block-column { flex-basis: 100% !important; }
  .dc-hero .dc-placeholder { min-height: 260px; }
}
@media (max-width: 781px) {
  .dc-section .wp-block-columns { gap: 1.25rem; }
  .dc-hero .dc-placeholder { min-height: 240px; }
  .dc-header-row { flex-wrap: wrap; }
}
@media (max-width: 959px) {
  .dc-header-row { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; gap: .75rem 1rem; }
  .dc-header-row > .dc-brand { grid-column: 1; grid-row: 1; }
  .dc-language-switcher { grid-column: 2; grid-row: 1; justify-self: end; }
  .dc-header-row > .wp-block-navigation { grid-column: 1 / -1; grid-row: 2; justify-self: end; margin-inline-start: 0; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
