/* ============================================================
   LITERATURARTE DESIGN SYSTEM v1.0
   Club Literaturarte — Stylesheet Principal
   Bootstrap 5 + Material Design 3 | Minimalista & Underline
   ============================================================
   Inclua apenas este ficheiro + fontes + ícones:
     <link href="https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&family=Nunito:wght@300;400;500;600;700;800&display=swap" rel="stylesheet">
     <link rel='stylesheet' href='https://cdn-uicons.flaticon.com/4.0.0/uicons-regular-chubby/css/uicons-regular-chubby.css'>
     <link rel="stylesheet" href="literaturarte.css">
   ============================================================ */

/* ============================================================
   0. VARIÁVEIS (tokens embutidos para uso standalone)
   ============================================================ */
:root {
  --la-primary: #ED6D63; --la-primary-light: #F5A59E; --la-primary-lighter: #FDECEA;
  --la-primary-dark: #D44F45; --la-primary-darker: #B83830; --la-on-primary: #fff;
  --la-secondary: #9BCEA9; --la-secondary-light: #C2E3CB; --la-secondary-lighter: #E8F5EC;
  --la-secondary-dark: #6BAF7D; --la-secondary-darker: #3E8A56; --la-on-secondary: #fff;
  --la-blue: #64ABDF; --la-blue-light: #9BCBEE; --la-blue-lighter: #E3F2FC;
  --la-blue-dark: #3A89C2; --la-blue-darker: #1E6A9C; --la-on-blue: #fff;
  --la-yellow: #F8D060; --la-yellow-light: #FBE49E; --la-yellow-lighter: #FEF8E0;
  --la-yellow-dark: #E6B930; --la-yellow-darker: #C49A10; --la-on-yellow: #1A1C23;
  --la-gray-50: #FAFAFA; --la-gray-100: #F5F5F6; --la-gray-200: #EEEEEF;
  --la-gray-300: #E2E2E4; --la-gray-400: #C5C5CA; --la-gray-500: #9B9BA5;
  --la-gray-600: #72727A; --la-gray-700: #4E4E57; --la-gray-800: #313138; --la-gray-900: #1A1C23;
  --la-white: #fff; --la-black: #1A1C23;
  --la-success: #9BCEA9; --la-success-bg: #E8F5EC; --la-success-dark: #3E8A56;
  --la-warning: #F8D060; --la-warning-bg: #FEF8E0; --la-warning-dark: #C49A10;
  --la-error: #ED6D63; --la-error-bg: #FDECEA; --la-error-dark: #B83830;
  --la-info: #64ABDF; --la-info-bg: #E3F2FC; --la-info-dark: #1E6A9C;
  --la-bg: #F8F9FA; --la-bg-warm: #FDF9F8; --la-surface: #fff; --la-surface-2: #F5F5F6;
  --la-overlay: rgba(26,28,35,.48);
  --la-text: #1A1C23; --la-text-2: #4E4E57; --la-text-muted: #72727A;
  --la-text-disabled: #9B9BA5; --la-text-inverse: #fff;
  --la-border: #E2E2E4; --la-border-2: #C5C5CA; --la-border-focus: #ED6D63;
  --la-font-display: 'Bebas Neue', 'Impact', system-ui, sans-serif;
  --la-font-body: 'Nunito', system-ui, sans-serif;
  --la-font-mono: 'Fira Code', 'Cascadia Code', monospace;
  --la-text-xs:.75rem; --la-text-sm:.875rem; --la-text-base:1rem; --la-text-md:1.125rem;
  --la-text-lg:1.25rem; --la-text-xl:1.5rem; --la-text-2xl:1.875rem;
  --la-text-3xl:2.25rem; --la-text-4xl:3rem; --la-text-5xl:3.75rem;
  --la-weight-light:300; --la-weight-regular:400; --la-weight-medium:500;
  --la-weight-semibold:600; --la-weight-bold:700; --la-weight-extrabold:800;
  --la-leading-tight:1.25; --la-leading-normal:1.5; --la-leading-relaxed:1.625;
  --la-space-1:.25rem; --la-space-2:.5rem; --la-space-3:.75rem; --la-space-4:1rem;
  --la-space-5:1.25rem; --la-space-6:1.5rem; --la-space-8:2rem; --la-space-10:2.5rem;
  --la-space-12:3rem; --la-space-16:4rem; --la-space-20:5rem;
  --la-radius-sm:.25rem; --la-radius-md:.5rem; --la-radius-lg:.75rem;
  --la-radius-xl:1rem; --la-radius-2xl:1.5rem; --la-radius-full:9999px;
  --la-shadow-xs:0 1px 2px rgba(26,28,35,.05);
  --la-shadow-sm:0 1px 3px rgba(26,28,35,.08),0 1px 2px rgba(26,28,35,.04);
  --la-shadow-md:0 4px 6px rgba(26,28,35,.07),0 2px 4px rgba(26,28,35,.04);
  --la-shadow-lg:0 10px 15px rgba(26,28,35,.08),0 4px 6px rgba(26,28,35,.04);
  --la-shadow-xl:0 20px 25px rgba(26,28,35,.10),0 8px 10px rgba(26,28,35,.04);
  --la-shadow-primary:0 4px 14px rgba(237,109,99,.30);
  --la-ring-primary:0 0 0 3px rgba(237,109,99,.22);
  --la-ring-green:0 0 0 3px rgba(155,206,169,.28);
  --la-ring-blue:0 0 0 3px rgba(100,171,223,.28);
  --la-ease:cubic-bezier(.4,0,.2,1);
  --la-ease-spring:cubic-bezier(.34,1.56,.64,1);
  --la-transition:all 200ms cubic-bezier(.4,0,.2,1);
  --la-transition-fast:all 100ms cubic-bezier(.4,0,.2,1);
  --la-gutter:1.5rem;
  --la-container-sm:640px; --la-container-md:768px; --la-container-lg:1024px;
  --la-container-xl:1280px; --la-container-2xl:1536px;
}


/* ============================================================
   1. BASE / RESET
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { font-size: 16px; scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body {
  font-family: var(--la-font-body);
  font-size: var(--la-text-base);
  font-weight: var(--la-weight-regular);
  line-height: var(--la-leading-normal);
  color: var(--la-text);
  background-color: var(--la-bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img, video, svg { display: block; max-width: 100%; }
a { color: var(--la-primary); text-decoration: none; transition: var(--la-transition-fast); }
a:hover { color: var(--la-primary-dark); }
p { margin-bottom: var(--la-space-4); line-height: var(--la-leading-relaxed); }
strong, b { font-weight: var(--la-weight-bold); }
em, i:not([class*="fi"]) { font-style: italic; }
hr { border: none; border-top: 1px solid var(--la-border); margin: var(--la-space-8) 0; }
ul, ol { padding-left: var(--la-space-6); }
li { margin-bottom: var(--la-space-1); }
code, kbd, pre { font-family: var(--la-font-mono); font-size: .9em; }
pre { background: var(--la-gray-100); border-radius: var(--la-radius-md); padding: var(--la-space-4); overflow-x: auto; }
:focus-visible { outline: 2px solid var(--la-primary); outline-offset: 2px; }


/* ============================================================
   2. TIPOGRAFIA
   ============================================================ */
.la-display-1 { font-family: var(--la-font-display); font-size: var(--la-text-5xl); font-weight: 400; line-height: 1.0; letter-spacing: .04em; }
.la-display-2 { font-family: var(--la-font-display); font-size: var(--la-text-4xl); font-weight: 400; line-height: 1.0; letter-spacing: .04em; }
.la-display-3 { font-family: var(--la-font-display); font-size: var(--la-text-3xl); font-weight: 400; line-height: 1.05; letter-spacing: .04em; }

h1, .la-h1 { font-family: var(--la-font-display); font-size: var(--la-text-3xl); font-weight: 400; line-height: 1.05; letter-spacing: .04em; margin-bottom: var(--la-space-4); color: var(--la-text); }
h2, .la-h2 { font-family: var(--la-font-display); font-size: var(--la-text-2xl); font-weight: 400; line-height: 1.1; letter-spacing: .04em; margin-bottom: var(--la-space-3); color: var(--la-text); }
h3, .la-h3 { font-family: var(--la-font-display); font-size: var(--la-text-xl); font-weight: 400; line-height: 1.15; letter-spacing: .04em; margin-bottom: var(--la-space-3); color: var(--la-text); }
h4, .la-h4 { font-family: var(--la-font-display); font-size: var(--la-text-lg); font-weight: var(--la-weight-medium); line-height: var(--la-leading-snug); margin-bottom: var(--la-space-2); color: var(--la-text); }
h5, .la-h5 { font-family: var(--la-font-display); font-size: var(--la-text-base); font-weight: var(--la-weight-semibold); margin-bottom: var(--la-space-2); color: var(--la-text); }
h6, .la-h6 { font-family: var(--la-font-display); font-size: var(--la-text-sm); font-weight: var(--la-weight-semibold); text-transform: uppercase; letter-spacing: .06em; margin-bottom: var(--la-space-2); color: var(--la-text-muted); }

.la-lead     { font-size: var(--la-text-lg); line-height: var(--la-leading-relaxed); color: var(--la-text-2); }
.la-body     { font-size: var(--la-text-base); line-height: var(--la-leading-relaxed); }
.la-body-sm  { font-size: var(--la-text-sm); line-height: var(--la-leading-relaxed); }
.la-caption  { font-size: var(--la-text-xs); color: var(--la-text-muted); letter-spacing: .02em; }
.la-overline { font-size: var(--la-text-xs); text-transform: uppercase; letter-spacing: .1em; font-weight: var(--la-weight-semibold); color: var(--la-text-muted); }
.la-label-text { font-size: var(--la-text-sm); font-weight: var(--la-weight-medium); letter-spacing: .01em; }

/* Custom heading com cor primária (WP Bakery Custom Heading) */
.la-heading-accent { position: relative; display: inline-block; }
.la-heading-accent::after { content: ''; position: absolute; bottom: -4px; left: 0; width: 40px; height: 3px; background: var(--la-primary); border-radius: var(--la-radius-full); }
.la-heading-accent--center { display: block; text-align: center; }
.la-heading-accent--center::after { left: 50%; transform: translateX(-50%); }

.la-text-primary   { color: var(--la-primary) !important; }
.la-text-secondary { color: var(--la-secondary-dark) !important; }
.la-text-blue      { color: var(--la-blue-dark) !important; }
.la-text-yellow    { color: var(--la-yellow-darker) !important; }
.la-text-muted-c   { color: var(--la-text-muted) !important; }
.la-text-inverse   { color: var(--la-text-inverse) !important; }


/* ============================================================
   3. GRID & LAYOUT (Bootstrap-compatible)
   ============================================================ */
.la-container      { width: 100%; max-width: var(--la-container-xl); margin-inline: auto; padding-inline: var(--la-gutter); }
.la-container-sm   { max-width: var(--la-container-sm); }
.la-container-md   { max-width: var(--la-container-md); }
.la-container-lg   { max-width: var(--la-container-lg); }
.la-container-full { max-width: 100%; }

.la-section { padding-block: var(--la-space-16); }
.la-section-sm { padding-block: var(--la-space-10); }
.la-section-lg { padding-block: var(--la-space-24); }

.la-row { display: flex; flex-wrap: wrap; margin-inline: calc(var(--la-gutter) * -.5); }
.la-row > [class*="la-col"] { padding-inline: calc(var(--la-gutter) * .5); }
.la-row--gap-sm { margin-inline: calc(var(--la-gutter-sm) * -.5); gap: var(--la-space-4) 0; }
.la-row--gap-sm > [class*="la-col"] { padding-inline: calc(var(--la-gutter-sm) * .5); }

/* 12-col grid */
.la-col    { flex: 1 0 0%; }
.la-col-1  { flex: 0 0 8.333%;  max-width: 8.333%;  }
.la-col-2  { flex: 0 0 16.666%; max-width: 16.666%; }
.la-col-3  { flex: 0 0 25%;     max-width: 25%;     }
.la-col-4  { flex: 0 0 33.333%; max-width: 33.333%; }
.la-col-5  { flex: 0 0 41.666%; max-width: 41.666%; }
.la-col-6  { flex: 0 0 50%;     max-width: 50%;     }
.la-col-7  { flex: 0 0 58.333%; max-width: 58.333%; }
.la-col-8  { flex: 0 0 66.666%; max-width: 66.666%; }
.la-col-9  { flex: 0 0 75%;     max-width: 75%;     }
.la-col-10 { flex: 0 0 83.333%; max-width: 83.333%; }
.la-col-11 { flex: 0 0 91.666%; max-width: 91.666%; }
.la-col-12 { flex: 0 0 100%;    max-width: 100%;    }
.la-col-auto { flex: 0 0 auto; width: auto; }

@media (min-width: 768px) {
  .la-col-md-3  { flex: 0 0 25%;     max-width: 25%;     }
  .la-col-md-4  { flex: 0 0 33.333%; max-width: 33.333%; }
  .la-col-md-6  { flex: 0 0 50%;     max-width: 50%;     }
  .la-col-md-8  { flex: 0 0 66.666%; max-width: 66.666%; }
  .la-col-md-12 { flex: 0 0 100%;    max-width: 100%;    }
}
@media (min-width: 992px) {
  .la-col-lg-3  { flex: 0 0 25%;     max-width: 25%;     }
  .la-col-lg-4  { flex: 0 0 33.333%; max-width: 33.333%; }
  .la-col-lg-6  { flex: 0 0 50%;     max-width: 50%;     }
  .la-col-lg-8  { flex: 0 0 66.666%; max-width: 66.666%; }
  .la-col-lg-12 { flex: 0 0 100%;    max-width: 100%;    }
}

/* Flex helpers */
.la-flex       { display: flex; }
.la-flex-col   { flex-direction: column; }
.la-flex-wrap  { flex-wrap: wrap; }
.la-items-center  { align-items: center; }
.la-items-start   { align-items: flex-start; }
.la-items-end     { align-items: flex-end; }
.la-justify-between { justify-content: space-between; }
.la-justify-center  { justify-content: center; }
.la-justify-end     { justify-content: flex-end; }
.la-gap-2 { gap: var(--la-space-2); } .la-gap-3 { gap: var(--la-space-3); }
.la-gap-4 { gap: var(--la-space-4); } .la-gap-6 { gap: var(--la-space-6); }
.la-gap-8 { gap: var(--la-space-8); }

/* Grid helpers */
.la-grid-2 { display: grid; grid-template-columns: repeat(2,1fr); gap: var(--la-space-6); }
.la-grid-3 { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--la-space-6); }
.la-grid-4 { display: grid; grid-template-columns: repeat(4,1fr); gap: var(--la-space-6); }

@media (max-width: 767px) {
  .la-grid-2, .la-grid-3, .la-grid-4 { grid-template-columns: 1fr; }
}
@media (min-width: 576px) and (max-width: 991px) {
  .la-grid-3, .la-grid-4 { grid-template-columns: repeat(2,1fr); }
}


/* ============================================================
   4. FORMULÁRIOS — ESTILO UNDERLINE (Material Design 3)
   ============================================================ */

/* --- Campo base --- */
.la-field {
  position: relative;
  padding-top: 20px;
  margin-bottom: var(--la-space-6);
}
.la-field--no-float { padding-top: 0; }

/* --- Input underline --- */
.la-field__input {
  display: block;
  width: 100%;
  border: none;
  border-bottom: 1.5px solid var(--la-border-2);
  border-radius: 0;
  background: transparent;
  padding: 8px 0 6px;
  font-family: var(--la-font-body);
  font-size: var(--la-text-base);
  color: var(--la-text);
  outline: none;
  transition: border-color 200ms var(--la-ease);
}
.la-field__input::placeholder { color: transparent; }
.la-field__input:hover:not(:disabled) { border-bottom-color: var(--la-gray-600); }
.la-field__input:focus { border-bottom-color: var(--la-primary); }
.la-field__input:disabled { color: var(--la-text-disabled); border-bottom-style: dashed; cursor: not-allowed; }
.la-field__input[readonly] { color: var(--la-text-muted); border-bottom-style: dotted; }

/* --- Label flutuante --- */
.la-field__label {
  position: absolute;
  top: 28px;
  left: 0;
  color: var(--la-text-muted);
  font-size: var(--la-text-base);
  font-family: var(--la-font-body);
  pointer-events: none;
  transition: top 180ms var(--la-ease), font-size 180ms var(--la-ease), color 180ms var(--la-ease);
}
.la-field__input:focus ~ .la-field__label,
.la-field__input:not(:placeholder-shown) ~ .la-field__label {
  top: 0;
  font-size: var(--la-text-xs);
  color: var(--la-primary);
}
.la-field__input:focus ~ .la-field__label { color: var(--la-primary); }

/* Label não flutuante */
.la-field--no-float .la-field__label {
  position: static;
  display: block;
  font-size: var(--la-text-sm);
  font-weight: var(--la-weight-medium);
  color: var(--la-text-2);
  margin-bottom: var(--la-space-2);
}

/* --- Linha de foco animada --- */
.la-field::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 2px;
  background: var(--la-primary);
  border-radius: var(--la-radius-full);
  transition: width 200ms var(--la-ease), left 200ms var(--la-ease);
}
.la-field:focus-within::after { width: 100%; left: 0; }
.la-field--error:focus-within::after { background: var(--la-error); }
.la-field--success:focus-within::after { background: var(--la-secondary-dark); }

/* --- Estados de validação --- */
.la-field--error  .la-field__input { border-bottom-color: var(--la-error); }
.la-field--error  .la-field__input:focus ~ .la-field__label,
.la-field--error  .la-field__input:not(:placeholder-shown) ~ .la-field__label { color: var(--la-error-dark); }
.la-field--success .la-field__input { border-bottom-color: var(--la-secondary-dark); }

/* --- Textos auxiliares --- */
.la-field__helper { font-size: var(--la-text-xs); color: var(--la-text-muted); margin-top: var(--la-space-1); display: flex; align-items: center; gap: 4px; }
.la-field--error  .la-field__helper { color: var(--la-error-dark); }
.la-field--success .la-field__helper { color: var(--la-secondary-darker); }

/* --- Prefixo / Sufixo de ícone --- */
.la-field__adornment {
  position: relative;
}
.la-field__adornment .la-field__input { padding-left: 28px; }
.la-field__adornment .la-field__icon-left {
  position: absolute;
  left: 0;
  top: 28px;
  color: var(--la-text-muted);
  font-size: 18px;
  transition: color 200ms var(--la-ease);
}
.la-field__adornment:focus-within .la-field__icon-left { color: var(--la-primary); }
.la-field__adornment .la-field__icon-right {
  position: absolute;
  right: 0;
  top: 28px;
  color: var(--la-text-muted);
  cursor: pointer;
  font-size: 18px;
}

/* --- Textarea --- */
.la-field__input--textarea {
  resize: vertical;
  min-height: 80px;
  padding-top: var(--la-space-2);
}

/* --- Custom Select (substitui <select> nativo — frosted glass, cor coral, pesquisa) --- */
.la-cselect { position:relative; padding-top:20px; margin-bottom:var(--la-space-6); user-select:none; }
.la-cselect__trigger { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px 0 6px; border-bottom:1.5px solid var(--la-border-2); cursor:pointer; transition:border-color 200ms var(--la-ease); position:relative; }
.la-cselect__trigger::after { content:''; position:absolute; bottom:-1.5px; left:50%; width:0; height:2px; background:var(--la-primary); border-radius:999px; transition:width 200ms var(--la-ease),left 200ms var(--la-ease); }
.la-cselect--open .la-cselect__trigger::after { width:100%; left:0; }
.la-cselect--open .la-cselect__trigger { border-bottom-color:var(--la-primary); }
.la-cselect__display { font-family:var(--la-font-body); font-size:var(--la-text-base); color:var(--la-text); flex:1; min-height:24px; display:flex; align-items:center; }
.la-cselect__display--placeholder { color:var(--la-text-muted); }
.la-cselect__icon { font-size:14px; color:var(--la-text-muted); transition:transform 200ms var(--la-ease),color 200ms var(--la-ease); flex-shrink:0; }
.la-cselect--open .la-cselect__icon { transform:rotate(180deg); color:var(--la-primary); }
.la-cselect__label { position:absolute; top:0; left:0; font-size:var(--la-text-xs); font-family:var(--la-font-body); color:var(--la-primary); pointer-events:none; font-weight:var(--la-weight-semibold); opacity:0; transition:opacity 150ms; }
.la-cselect--has-value .la-cselect__label { opacity:1; }
/* Painel frosted glass */
.la-cselect__panel { position:absolute; top:calc(100% + 6px); left:-12px; right:-12px; z-index:200; background:rgba(255,255,255,.88); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); border:1px solid rgba(226,226,228,.8); border-radius:var(--la-radius-xl); box-shadow:0 8px 32px rgba(26,28,35,.14),0 2px 8px rgba(26,28,35,.06); overflow:hidden; display:none; animation:la-fadeIn 150ms var(--la-ease); }
.la-cselect--open .la-cselect__panel { display:block; }
/* Campo de pesquisa (≥8 opções) */
.la-cselect__search { display:flex; align-items:center; gap:8px; padding:10px 14px; border-bottom:1px solid rgba(226,226,228,.6); }
.la-cselect__search i { color:var(--la-text-muted); font-size:15px; flex-shrink:0; }
.la-cselect__search input { flex:1; border:none; background:transparent; outline:none; font-family:var(--la-font-body); font-size:var(--la-text-sm); color:var(--la-text); }
.la-cselect__search input::placeholder { color:var(--la-text-muted); }
/* Lista */
.la-cselect__list { max-height:220px; overflow-y:auto; padding:6px 0; }
.la-cselect__option { padding:9px 16px; font-family:var(--la-font-body); font-size:var(--la-text-sm); color:var(--la-text-2); cursor:pointer; transition:background 100ms,color 100ms; display:flex; align-items:center; justify-content:space-between; }
.la-cselect__option:hover { background:var(--la-primary-lighter); color:var(--la-primary-dark); }
.la-cselect__option--selected { color:var(--la-primary); font-weight:var(--la-weight-bold); background:var(--la-primary-lighter); }
.la-cselect__option--selected::after { content:''; width:7px; height:7px; border-radius:50%; background:var(--la-primary); display:inline-block; flex-shrink:0; }
.la-cselect__option--hidden { display:none; }
.la-cselect__empty { padding:20px 16px; text-align:center; font-size:var(--la-text-sm); color:var(--la-text-muted); font-family:var(--la-font-body); }

/* --- Select underline --- */
.la-field__select {
  display: block;
  width: 100%;
  border: none;
  border-bottom: 1.5px solid var(--la-border-2);
  border-radius: 0;
  background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2372727A' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 4px center;
  padding: 8px 28px 6px 0;
  font-family: var(--la-font-body);
  font-size: var(--la-text-base);
  color: var(--la-text);
  outline: none;
  appearance: none;
  cursor: pointer;
  transition: border-color 200ms var(--la-ease);
}
.la-field__select:focus { border-bottom-color: var(--la-primary); }
.la-field__select:disabled { color: var(--la-text-disabled); cursor: not-allowed; }

/* --- Checkbox MD3 --- */
.la-checkbox {
  display: flex;
  align-items: flex-start;
  gap: var(--la-space-3);
  cursor: pointer;
  margin-bottom: var(--la-space-3);
}
.la-checkbox__input {
  position: relative;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin-top: 1px;
  appearance: none;
  border: 2px solid var(--la-border-2);
  border-radius: var(--la-radius-sm);
  background: var(--la-surface);
  cursor: pointer;
  transition: var(--la-transition-fast);
}
.la-checkbox__input:hover { border-color: var(--la-primary-light); }
.la-checkbox__input:checked { background: var(--la-primary); border-color: var(--la-primary); }
.la-checkbox__input:checked::after {
  content: '';
  position: absolute;
  top: 2px; left: 5px;
  width: 6px; height: 10px;
  border: 2px solid #fff;
  border-top: none; border-left: none;
  transform: rotate(45deg);
}
.la-checkbox__input:focus-visible { box-shadow: var(--la-ring-primary); }
.la-checkbox__input:disabled { opacity: .4; cursor: not-allowed; }
.la-checkbox__label { font-size: var(--la-text-sm); color: var(--la-text); line-height: 1.5; }

/* Checkbox indeterminate */
.la-checkbox__input:indeterminate { background: var(--la-primary); border-color: var(--la-primary); }
.la-checkbox__input:indeterminate::after {
  content: '';
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%,-50%);
  width: 10px; height: 2px;
  background: #fff; border: none;
}

/* --- Radio MD3 --- */
.la-radio {
  display: flex;
  align-items: flex-start;
  gap: var(--la-space-3);
  cursor: pointer;
  margin-bottom: var(--la-space-3);
}
.la-radio__input {
  position: relative;
  flex-shrink: 0;
  width: 20px; height: 20px;
  margin-top: 1px;
  appearance: none;
  border: 2px solid var(--la-border-2);
  border-radius: 50%;
  background: var(--la-surface);
  cursor: pointer;
  transition: var(--la-transition-fast);
}
.la-radio__input:hover { border-color: var(--la-primary-light); }
.la-radio__input:checked { border-color: var(--la-primary); }
.la-radio__input:checked::after {
  content: '';
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%,-50%);
  width: 10px; height: 10px;
  background: var(--la-primary);
  border-radius: 50%;
}
.la-radio__input:focus-visible { box-shadow: var(--la-ring-primary); }
.la-radio__input:disabled { opacity: .4; cursor: not-allowed; }
.la-radio__label { font-size: var(--la-text-sm); color: var(--la-text); line-height: 1.5; }

/* --- Toggle / Switch --- */
.la-switch {
  display: inline-flex;
  align-items: center;
  gap: var(--la-space-3);
  cursor: pointer;
}
.la-switch__input {
  position: relative;
  width: 48px; height: 28px;
  appearance: none;
  background: var(--la-gray-300);
  border-radius: var(--la-radius-full);
  cursor: pointer;
  transition: background 200ms var(--la-ease);
  flex-shrink: 0;
}
.la-switch__input::after {
  content: '';
  position: absolute;
  top: 3px; left: 3px;
  width: 22px; height: 22px;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 1px 3px rgba(0,0,0,.2);
  transition: transform 200ms var(--la-ease-spring);
}
.la-switch__input:checked { background: var(--la-primary); }
.la-switch__input:checked::after { transform: translateX(20px); }
.la-switch__input:focus-visible { box-shadow: var(--la-ring-primary); }
.la-switch__input:disabled { opacity: .4; cursor: not-allowed; }
.la-switch__label { font-size: var(--la-text-sm); color: var(--la-text); }

/* --- File Upload --- */
.la-file-upload {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--la-space-3);
  padding: var(--la-space-10) var(--la-space-6);
  border: 2px dashed var(--la-border-2);
  border-radius: var(--la-radius-lg);
  background: var(--la-gray-50);
  cursor: pointer;
  transition: var(--la-transition);
  text-align: center;
}
.la-file-upload:hover { border-color: var(--la-primary-light); background: var(--la-primary-lighter); }
.la-file-upload--active { border-color: var(--la-primary); background: var(--la-primary-lighter); }
.la-file-upload__icon { font-size: 32px; color: var(--la-text-muted); }
.la-file-upload__text { font-size: var(--la-text-sm); color: var(--la-text-muted); }
.la-file-upload__link { color: var(--la-primary); font-weight: var(--la-weight-medium); }
.la-file-upload input[type="file"] { display: none; }

/* --- Range Slider --- */
.la-range {
  display: flex;
  flex-direction: column;
  gap: var(--la-space-2);
  margin-bottom: var(--la-space-6);
}
.la-range__input {
  width: 100%;
  height: 4px;
  appearance: none;
  background: var(--la-gray-300);
  border-radius: var(--la-radius-full);
  outline: none;
  cursor: pointer;
}
.la-range__input::-webkit-slider-thumb {
  appearance: none;
  width: 20px; height: 20px;
  background: var(--la-primary);
  border-radius: 50%;
  box-shadow: 0 1px 3px rgba(0,0,0,.2);
  transition: var(--la-transition-fast);
  cursor: grab;
}
.la-range__input::-webkit-slider-thumb:active { cursor: grabbing; transform: scale(1.15); }
.la-range__track { display: flex; justify-content: space-between; font-size: var(--la-text-xs); color: var(--la-text-muted); }

/* --- Search Input --- */
.la-search {
  position: relative;
  display: flex;
  align-items: center;
}
.la-search__icon { position: absolute; left: var(--la-space-4); color: var(--la-text-muted); font-size: 18px; pointer-events: none; }
.la-search__input {
  width: 100%;
  border: 1.5px solid var(--la-border);
  border-radius: var(--la-radius-full);
  background: var(--la-surface);
  padding: var(--la-space-3) var(--la-space-5) var(--la-space-3) calc(var(--la-space-4) + 24px + var(--la-space-2));
  font-family: var(--la-font-body);
  font-size: var(--la-text-sm);
  color: var(--la-text);
  outline: none;
  transition: var(--la-transition);
}
.la-search__input:focus { border-color: var(--la-primary); box-shadow: var(--la-ring-primary); }
.la-search__clear { position: absolute; right: var(--la-space-4); background: none; border: none; color: var(--la-text-muted); cursor: pointer; font-size: 16px; }

/* Recomendação para muitas opções: Select com busca */
/* Use Select2, Tom Select ou Choices.js com as cores --la-primary */
.la-select-search-hint { font-size: var(--la-text-xs); color: var(--la-text-muted); padding: var(--la-space-2) var(--la-space-3); background: var(--la-yellow-lighter); border-radius: var(--la-radius-md); margin-top: var(--la-space-2); }

/* --- Chips / Tags multi-select --- */
.la-chips-input {
  display: flex;
  flex-wrap: wrap;
  gap: var(--la-space-2);
  padding: var(--la-space-2) 0;
  border-bottom: 1.5px solid var(--la-border-2);
  min-height: 42px;
  transition: border-color 200ms var(--la-ease);
}
.la-chips-input:focus-within { border-bottom-color: var(--la-primary); }
.la-chip {
  display: inline-flex;
  align-items: center;
  gap: var(--la-space-1);
  padding: 2px var(--la-space-3);
  background: var(--la-primary-lighter);
  color: var(--la-primary-dark);
  border-radius: var(--la-radius-full);
  font-size: var(--la-text-xs);
  font-weight: var(--la-weight-medium);
  white-space: nowrap;
}
.la-chip--green  { background: var(--la-secondary-lighter); color: var(--la-secondary-darker); }
.la-chip--blue   { background: var(--la-blue-lighter);      color: var(--la-blue-darker); }
.la-chip--yellow { background: var(--la-yellow-lighter);    color: var(--la-yellow-darker); }
.la-chip__close  { background: none; border: none; color: inherit; cursor: pointer; font-size: 14px; padding: 0; line-height: 1; opacity: .7; }
.la-chip__close:hover { opacity: 1; }

/* --- Form group / set de botões radio --- */
.la-btn-group-check { display: flex; flex-wrap: wrap; gap: var(--la-space-2); }
.la-btn-group-check input[type="radio"],
.la-btn-group-check input[type="checkbox"] { position: absolute; opacity: 0; pointer-events: none; }
.la-btn-group-check label {
  padding: var(--la-space-2) var(--la-space-4);
  border: 1.5px solid var(--la-border-2);
  border-radius: var(--la-radius-full);
  font-size: var(--la-text-sm);
  font-family: var(--la-font-body);
  color: var(--la-text-muted);
  cursor: pointer;
  transition: var(--la-transition-fast);
  white-space: nowrap;
}
.la-btn-group-check input:checked + label { border-color: var(--la-primary); background: var(--la-primary-lighter); color: var(--la-primary-dark); font-weight: var(--la-weight-semibold); }
.la-btn-group-check label:hover { border-color: var(--la-primary-light); color: var(--la-primary); }

/* --- Form section title --- */
.la-form-section { margin-bottom: var(--la-space-8); }
.la-form-section__title { font-family: var(--la-font-display); font-size: var(--la-text-md); font-weight: var(--la-weight-semibold); color: var(--la-text); margin-bottom: var(--la-space-2); padding-bottom: var(--la-space-2); border-bottom: 1px solid var(--la-border); }
.la-form-section__subtitle { font-size: var(--la-text-sm); color: var(--la-text-muted); margin-bottom: var(--la-space-6); }

/* --- Form actions --- */
.la-form-actions { display: flex; gap: var(--la-space-3); align-items: center; margin-top: var(--la-space-8); flex-wrap: wrap; }
.la-form-actions--end { justify-content: flex-end; }
.la-form-actions--between { justify-content: space-between; }

/* Rating */
.la-rating { display: flex; gap: var(--la-space-1); }
.la-rating__star { font-size: 24px; color: var(--la-gray-300); cursor: pointer; transition: color 150ms; line-height: 1; }
.la-rating__star--active, .la-rating__star:hover { color: var(--la-yellow-dark); }


/* ============================================================
   5. BOTÕES
   ============================================================ */
.la-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--la-space-2);
  padding: 10px var(--la-space-6);
  font-family: var(--la-font-body);
  font-size: var(--la-text-sm);
  font-weight: var(--la-weight-semibold);
  line-height: 1.4;
  border-radius: var(--la-radius-full);
  border: 1.5px solid transparent;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
  transition: var(--la-transition);
  position: relative;
  overflow: hidden;
  user-select: none;
  vertical-align: middle;
  letter-spacing: .01em;
}
.la-btn:focus-visible { outline: 2px solid var(--la-primary); outline-offset: 3px; }
.la-btn:disabled, .la-btn--disabled { opacity: .45; cursor: not-allowed; pointer-events: none; }
.la-btn i { font-size: 16px; }

/* Tamanhos */
.la-btn--sm { padding: 6px var(--la-space-4); font-size: var(--la-text-xs); }
.la-btn--lg { padding: 14px var(--la-space-8); font-size: var(--la-text-base); }
.la-btn--block { width: 100%; }
.la-btn--square { padding: 10px; }
.la-btn--square.la-btn--sm { padding: 6px; }
.la-btn--square.la-btn--lg { padding: 14px; }

/* Variantes */
.la-btn--primary {
  background: var(--la-primary);
  color: var(--la-on-primary);
  border-color: var(--la-primary);
  box-shadow: var(--la-shadow-xs);
}
.la-btn--primary:hover { background: var(--la-primary-dark); border-color: var(--la-primary-dark); box-shadow: var(--la-shadow-primary); transform: translateY(-1px); }
.la-btn--primary:active { background: var(--la-primary-darker); transform: translateY(0); box-shadow: var(--la-shadow-xs); }

.la-btn--secondary {
  background: var(--la-secondary);
  color: var(--la-on-secondary);
  border-color: var(--la-secondary);
}
.la-btn--secondary:hover { background: var(--la-secondary-dark); border-color: var(--la-secondary-dark); box-shadow: var(--la-shadow-green); transform: translateY(-1px); }

.la-btn--blue {
  background: var(--la-blue);
  color: var(--la-on-blue);
  border-color: var(--la-blue);
}
.la-btn--blue:hover { background: var(--la-blue-dark); border-color: var(--la-blue-dark); box-shadow: var(--la-shadow-blue); transform: translateY(-1px); }

.la-btn--yellow {
  background: var(--la-yellow);
  color: var(--la-on-yellow);
  border-color: var(--la-yellow);
}
.la-btn--yellow:hover { background: var(--la-yellow-dark); border-color: var(--la-yellow-dark); transform: translateY(-1px); }

.la-btn--outlined {
  background: transparent;
  color: var(--la-primary);
  border-color: var(--la-primary);
}
.la-btn--outlined:hover { background: var(--la-primary-lighter); box-shadow: var(--la-ring-primary); }

.la-btn--outlined-green { background: transparent; color: var(--la-secondary-darker); border-color: var(--la-secondary); }
.la-btn--outlined-green:hover { background: var(--la-secondary-lighter); }

.la-btn--outlined-dark { background: transparent; color: var(--la-text); border-color: var(--la-border-2); }
.la-btn--outlined-dark:hover { border-color: var(--la-gray-600); background: var(--la-gray-100); }

.la-btn--ghost {
  background: transparent;
  color: var(--la-primary);
  border-color: transparent;
}
.la-btn--ghost:hover { background: var(--la-primary-lighter); }

.la-btn--text {
  background: transparent;
  color: var(--la-primary);
  border-color: transparent;
  padding-inline: var(--la-space-2);
  border-radius: var(--la-radius-md);
}
.la-btn--text:hover { text-decoration: underline; }

.la-btn--dark { background: var(--la-gray-900); color: var(--la-white); border-color: var(--la-gray-900); }
.la-btn--dark:hover { background: var(--la-gray-800); transform: translateY(-1px); }

.la-btn--white { background: var(--la-white); color: var(--la-primary); border-color: var(--la-white); }
.la-btn--white:hover { background: var(--la-primary-lighter); }

/* Loading state */
.la-btn--loading { pointer-events: none; }
.la-btn--loading::after {
  content: '';
  width: 14px; height: 14px;
  border: 2px solid transparent;
  border-top-color: currentColor;
  border-radius: 50%;
  animation: la-spin 600ms linear infinite;
}
@keyframes la-spin { to { transform: rotate(360deg); } }

/* FAB */
.la-fab {
  width: 56px; height: 56px;
  border-radius: 50%;
  background: var(--la-primary);
  color: var(--la-on-primary);
  border: none;
  box-shadow: var(--la-shadow-lg);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  transition: var(--la-transition);
}
.la-fab:hover { background: var(--la-primary-dark); box-shadow: var(--la-shadow-primary); transform: scale(1.08); }
.la-fab--sm { width: 40px; height: 40px; font-size: 18px; }

/* Social buttons */
.la-btn--fb       { background: #1877F2; color: #fff; border-color: #1877F2; }
.la-btn--ig       { background: linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888); color: #fff; border-color: transparent; }
.la-btn--tw       { background: #1DA1F2; color: #fff; border-color: #1DA1F2; }
.la-btn--yt       { background: #FF0000; color: #fff; border-color: #FF0000; }
.la-btn--wa       { background: #25D366; color: #fff; border-color: #25D366; }
.la-btn--li       { background: #0A66C2; color: #fff; border-color: #0A66C2; }
.la-btn--tk       { background: #010101; color: #fff; border-color: #010101; }
.la-btn--pin      { background: #E60023; color: #fff; border-color: #E60023; }
.la-btn--fb:hover,.la-btn--ig:hover,.la-btn--tw:hover,.la-btn--yt:hover,.la-btn--wa:hover,.la-btn--li:hover,.la-btn--tk:hover,.la-btn--pin:hover { transform: translateY(-2px); box-shadow: var(--la-shadow-md); opacity: .92; }

/* Button group */
.la-btn-group { display: inline-flex; }
.la-btn-group .la-btn { border-radius: 0; border-right-width: 0; }
.la-btn-group .la-btn:first-child { border-radius: var(--la-radius-full) 0 0 var(--la-radius-full); }
.la-btn-group .la-btn:last-child  { border-radius: 0 var(--la-radius-full) var(--la-radius-full) 0; border-right-width: 1.5px; }


/* ============================================================
   6. CARTÕES (Cards)
   ============================================================ */
.la-card {
  background: var(--la-surface);
  border-radius: var(--la-radius-lg);
  box-shadow: var(--la-shadow-sm);
  overflow: hidden;
  transition: var(--la-transition);
}
.la-card--outlined { box-shadow: none; border: 1px solid var(--la-border); }
.la-card--elevated { box-shadow: var(--la-shadow-md); }
.la-card--interactive { cursor: pointer; }
.la-card--interactive:hover { transform: translateY(-3px); box-shadow: var(--la-shadow-lg); }
.la-card--interactive:active { transform: translateY(-1px); }
.la-card--flat { box-shadow: none; background: var(--la-gray-100); }

.la-card__header { padding: var(--la-space-5) var(--la-space-6) var(--la-space-4); border-bottom: 1px solid var(--la-border); }
.la-card__body   { padding: var(--la-space-6); }
.la-card__footer { padding: var(--la-space-4) var(--la-space-6); border-top: 1px solid var(--la-border); background: var(--la-gray-50); }
.la-card__media  { width: 100%; aspect-ratio: 16/9; object-fit: cover; display: block; }
.la-card__media--square { aspect-ratio: 1/1; }
.la-card__media--portrait { aspect-ratio: 3/4; }

/* Card horizontal */
.la-card--horizontal { display: flex; flex-direction: row; }
.la-card--horizontal .la-card__media { width: 160px; flex-shrink: 0; height: auto; object-fit: cover; }

/* Hover Box (WP Bakery) */
.la-hover-box {
  position: relative;
  overflow: hidden;
  border-radius: var(--la-radius-lg);
  cursor: pointer;
}
.la-hover-box__front,
.la-hover-box__back {
  padding: var(--la-space-8) var(--la-space-6);
  text-align: center;
  transition: var(--la-transition-slow);
}
.la-hover-box__back {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: var(--la-primary);
  color: var(--la-on-primary);
  transform: translateY(100%);
  opacity: 0;
}
.la-hover-box:hover .la-hover-box__back { transform: translateY(0); opacity: 1; }
.la-hover-box:hover .la-hover-box__front { opacity: 0; }

/* Post card */
.la-post-card { display: flex; flex-direction: column; height: 100%; }
.la-post-card .la-card__body { flex: 1; display: flex; flex-direction: column; }
.la-post-card__category { display: inline-block; padding: 2px 10px; background: var(--la-primary-lighter); color: var(--la-primary-dark); border-radius: var(--la-radius-full); font-size: var(--la-text-xs); font-weight: var(--la-weight-semibold); margin-bottom: var(--la-space-3); }
.la-post-card__title { font-family: var(--la-font-display); font-size: var(--la-text-lg); font-weight: var(--la-weight-semibold); line-height: var(--la-leading-snug); margin-bottom: var(--la-space-3); color: var(--la-text); }
.la-post-card__excerpt { font-size: var(--la-text-sm); color: var(--la-text-muted); line-height: var(--la-leading-relaxed); margin-bottom: var(--la-space-4); flex: 1; }
.la-post-card__meta { display: flex; align-items: center; gap: var(--la-space-3); font-size: var(--la-text-xs); color: var(--la-text-muted); }
.la-post-card__author { display: flex; align-items: center; gap: var(--la-space-2); }
.la-post-card__avatar { width: 28px; height: 28px; border-radius: 50%; object-fit: cover; }


/* ============================================================
   7. NAVEGAÇÃO
   ============================================================ */

/* --- Navbar --- */
.la-navbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--la-space-4) var(--la-gutter);
  background: var(--la-surface);
  box-shadow: var(--la-shadow-sm);
  position: sticky;
  top: 0;
  z-index: 100;
  gap: var(--la-space-6);
}
.la-navbar__brand { display: flex; align-items: center; gap: var(--la-space-3); text-decoration: none; }
.la-navbar__brand img { height: 40px; }
.la-navbar__nav { display: flex; align-items: center; gap: var(--la-space-1); list-style: none; margin: 0; padding: 0; }
.la-navbar__item {}
.la-navbar__link {
  padding: var(--la-space-2) var(--la-space-3);
  border-radius: var(--la-radius-md);
  font-size: var(--la-text-sm);
  font-weight: var(--la-weight-medium);
  color: var(--la-text-2);
  text-decoration: none;
  transition: var(--la-transition-fast);
  white-space: nowrap;
}
.la-navbar__link:hover  { color: var(--la-primary); background: var(--la-primary-lighter); }
.la-navbar__link--active { color: var(--la-primary); font-weight: var(--la-weight-semibold); }
.la-navbar__actions { display: flex; align-items: center; gap: var(--la-space-2); }
.la-navbar__toggle { display: none; background: none; border: none; color: var(--la-text); font-size: 22px; cursor: pointer; padding: var(--la-space-1); }

@media (max-width: 767px) {
  .la-navbar__nav { display: none; flex-direction: column; position: absolute; top: 100%; left: 0; right: 0; background: var(--la-surface); box-shadow: var(--la-shadow-md); padding: var(--la-space-4); gap: 0; }
  .la-navbar__nav--open { display: flex; }
  .la-navbar__link { display: block; padding: var(--la-space-3) var(--la-space-4); border-radius: var(--la-radius-md); }
  .la-navbar__toggle { display: block; }
}

/* --- Tabs --- */
.la-tabs { border-bottom: 2px solid var(--la-border); display: flex; gap: 0; margin-bottom: var(--la-space-6); overflow-x: auto; }
.la-tabs__tab {
  padding: var(--la-space-3) var(--la-space-5);
  font-family: var(--la-font-body);
  font-size: var(--la-text-sm);
  font-weight: var(--la-weight-medium);
  color: var(--la-text-muted);
  border: none;
  border-bottom: 2px solid transparent;
  background: none;
  cursor: pointer;
  white-space: nowrap;
  transition: var(--la-transition-fast);
  margin-bottom: -2px;
}
.la-tabs__tab:hover { color: var(--la-primary); }
.la-tabs__tab--active { color: var(--la-primary); border-bottom-color: var(--la-primary); font-weight: var(--la-weight-semibold); }

/* Pills nav */
.la-nav-pills { display: flex; flex-wrap: wrap; gap: var(--la-space-2); margin-bottom: var(--la-space-6); }
.la-nav-pills__item {
  padding: var(--la-space-2) var(--la-space-4);
  border-radius: var(--la-radius-full);
  font-size: var(--la-text-sm);
  font-weight: var(--la-weight-medium);
  color: var(--la-text-muted);
  text-decoration: none;
  transition: var(--la-transition-fast);
  cursor: pointer;
  background: none;
  border: none;
}
.la-nav-pills__item:hover  { background: var(--la-primary-lighter); color: var(--la-primary); }
.la-nav-pills__item--active { background: var(--la-primary); color: var(--la-on-primary); }

/* --- Acordeão --- */
.la-accordion { border: 1px solid var(--la-border); border-radius: var(--la-radius-lg); overflow: hidden; }
.la-accordion__item { border-bottom: 1px solid var(--la-border); }
.la-accordion__item:last-child { border-bottom: none; }
.la-accordion__trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--la-space-4) var(--la-space-5);
  background: var(--la-surface);
  border: none;
  text-align: left;
  font-family: var(--la-font-body);
  font-size: var(--la-text-base);
  font-weight: var(--la-weight-medium);
  color: var(--la-text);
  cursor: pointer;
  transition: background 150ms;
  gap: var(--la-space-3);
}
.la-accordion__trigger:hover { background: var(--la-gray-50); }
.la-accordion__trigger[aria-expanded="true"] { color: var(--la-primary); }
.la-accordion__icon { font-size: 18px; color: var(--la-text-muted); transition: transform 200ms var(--la-ease); flex-shrink: 0; }
.la-accordion__trigger[aria-expanded="true"] .la-accordion__icon { transform: rotate(180deg); color: var(--la-primary); }
.la-accordion__content { padding: var(--la-space-1) var(--la-space-5) var(--la-space-5); font-size: var(--la-text-sm); color: var(--la-text-2); line-height: var(--la-leading-relaxed); display: none; }
.la-accordion__content--open { display: block; }

/* --- Breadcrumb --- */
.la-breadcrumb { display: flex; align-items: center; flex-wrap: wrap; gap: var(--la-space-1); font-size: var(--la-text-sm); color: var(--la-text-muted); margin-bottom: var(--la-space-6); }
.la-breadcrumb__link { color: var(--la-text-muted); text-decoration: none; transition: color 150ms; }
.la-breadcrumb__link:hover { color: var(--la-primary); }
.la-breadcrumb__sep { color: var(--la-gray-400); font-size: 12px; }
.la-breadcrumb__current { color: var(--la-text); font-weight: var(--la-weight-medium); }

/* --- Paginação --- */
.la-pagination { display: flex; align-items: center; justify-content: center; gap: var(--la-space-1); flex-wrap: wrap; }
.la-pagination__item {
  min-width: 36px; height: 36px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: var(--la-radius-md);
  border: 1px solid var(--la-border);
  font-size: var(--la-text-sm);
  color: var(--la-text-2);
  text-decoration: none;
  cursor: pointer;
  transition: var(--la-transition-fast);
  background: var(--la-surface);
  font-family: var(--la-font-body);
}
.la-pagination__item:hover { border-color: var(--la-primary); color: var(--la-primary); background: var(--la-primary-lighter); }
.la-pagination__item--active { background: var(--la-primary); border-color: var(--la-primary); color: var(--la-on-primary); font-weight: var(--la-weight-semibold); }
.la-pagination__item--disabled { opacity: .4; cursor: not-allowed; pointer-events: none; }

/* --- Sidebar nav --- */
.la-sidebar-nav { list-style: none; padding: 0; margin: 0; }
.la-sidebar-nav__item { margin-bottom: var(--la-space-1); }
.la-sidebar-nav__link {
  display: flex;
  align-items: center;
  gap: var(--la-space-3);
  padding: var(--la-space-3) var(--la-space-4);
  border-radius: var(--la-radius-md);
  font-size: var(--la-text-sm);
  font-weight: var(--la-weight-medium);
  color: var(--la-text-2);
  text-decoration: none;
  transition: var(--la-transition-fast);
}
.la-sidebar-nav__link:hover  { background: var(--la-gray-100); color: var(--la-text); }
.la-sidebar-nav__link--active { background: var(--la-primary-lighter); color: var(--la-primary); font-weight: var(--la-weight-semibold); }
.la-sidebar-nav__link--active i { color: var(--la-primary); }
.la-sidebar-nav__icon { font-size: 18px; color: var(--la-text-muted); flex-shrink: 0; }

/* --- Stepper --- */
.la-stepper { display: flex; align-items: flex-start; gap: 0; }
.la-stepper__step { flex: 1; display: flex; flex-direction: column; align-items: center; position: relative; }
.la-stepper__step:not(:last-child)::after { content: ''; position: absolute; top: 18px; left: 50%; width: 100%; height: 2px; background: var(--la-border); z-index: 0; }
.la-stepper__step--done::after  { background: var(--la-primary); }
.la-stepper__dot { width: 36px; height: 36px; border-radius: 50%; background: var(--la-gray-200); display: flex; align-items: center; justify-content: center; font-size: var(--la-text-sm); font-weight: var(--la-weight-bold); color: var(--la-text-muted); position: relative; z-index: 1; transition: var(--la-transition); }
.la-stepper__step--done   .la-stepper__dot { background: var(--la-primary); color: #fff; }
.la-stepper__step--active .la-stepper__dot { background: var(--la-primary-lighter); color: var(--la-primary); border: 2px solid var(--la-primary); }
.la-stepper__label { font-size: var(--la-text-xs); color: var(--la-text-muted); margin-top: var(--la-space-2); text-align: center; }
.la-stepper__step--active .la-stepper__label { color: var(--la-primary); font-weight: var(--la-weight-medium); }


/* ============================================================
   8. FEEDBACK — Alertas, Badges, Progress, Toast
   ============================================================ */

/* --- Alerta --- */
.la-alert {
  display: flex;
  align-items: flex-start;
  gap: var(--la-space-3);
  padding: var(--la-space-4) var(--la-space-5);
  border-radius: var(--la-radius-lg);
  border-left: 4px solid;
  font-size: var(--la-text-sm);
  line-height: var(--la-leading-relaxed);
}
.la-alert--info    { background: var(--la-info-bg);    border-color: var(--la-info);    color: var(--la-info-dark); }
.la-alert--success { background: var(--la-success-bg); border-color: var(--la-success); color: var(--la-success-dark); }
.la-alert--warning { background: var(--la-warning-bg); border-color: var(--la-warning); color: var(--la-warning-dark); }
.la-alert--error   { background: var(--la-error-bg);   border-color: var(--la-error);   color: var(--la-error-dark); }
.la-alert__icon { font-size: 20px; flex-shrink: 0; margin-top: 1px; }
.la-alert__title { font-weight: var(--la-weight-semibold); margin-bottom: var(--la-space-1); font-size: var(--la-text-base); }
.la-alert__close { margin-left: auto; background: none; border: none; cursor: pointer; color: currentColor; opacity: .6; font-size: 18px; flex-shrink: 0; }

/* --- Badge --- */
.la-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2px var(--la-space-2);
  border-radius: var(--la-radius-full);
  font-size: var(--la-text-xs);
  font-weight: var(--la-weight-semibold);
  line-height: 1.4;
  white-space: nowrap;
}
.la-badge--primary { background: var(--la-primary);         color: var(--la-on-primary); }
.la-badge--green   { background: var(--la-secondary);       color: var(--la-on-secondary); }
.la-badge--blue    { background: var(--la-blue);            color: var(--la-on-blue); }
.la-badge--yellow  { background: var(--la-yellow);          color: var(--la-on-yellow); }
.la-badge--gray    { background: var(--la-gray-200);        color: var(--la-text-2); }
.la-badge--outline-primary { background: var(--la-primary-lighter); color: var(--la-primary-dark); border: 1px solid var(--la-primary-light); }
.la-badge--dot::before { content: ''; display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: currentColor; margin-right: 4px; }

/* --- Progress Bar --- */
.la-progress { height: 6px; border-radius: var(--la-radius-full); background: var(--la-gray-200); overflow: hidden; }
.la-progress--sm { height: 4px; }
.la-progress--lg { height: 10px; }
.la-progress__bar { height: 100%; border-radius: var(--la-radius-full); background: var(--la-primary); transition: width 400ms var(--la-ease); }
.la-progress__bar--green  { background: var(--la-secondary-dark); }
.la-progress__bar--blue   { background: var(--la-blue); }
.la-progress__bar--yellow { background: var(--la-yellow-dark); }
.la-progress__bar--stripe { background-image: repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(255,255,255,.2) 10px,rgba(255,255,255,.2) 20px); }

/* --- Spinner --- */
.la-spinner {
  display: inline-block;
  width: 24px; height: 24px;
  border: 3px solid var(--la-gray-200);
  border-top-color: var(--la-primary);
  border-radius: 50%;
  animation: la-spin 600ms linear infinite;
}
.la-spinner--sm { width: 16px; height: 16px; border-width: 2px; }
.la-spinner--lg { width: 40px; height: 40px; border-width: 4px; }
.la-spinner--green  { border-top-color: var(--la-secondary-dark); }
.la-spinner--blue   { border-top-color: var(--la-blue); }

/* --- Toast --- */
.la-toast {
  display: flex;
  align-items: center;
  gap: var(--la-space-3);
  padding: var(--la-space-3) var(--la-space-5);
  background: var(--la-gray-900);
  color: var(--la-white);
  border-radius: var(--la-radius-lg);
  box-shadow: var(--la-shadow-xl);
  font-size: var(--la-text-sm);
  max-width: 380px;
  pointer-events: all;
}
.la-toast--success { background: var(--la-secondary-darker); }
.la-toast--error   { background: var(--la-error-dark); }
.la-toast--info    { background: var(--la-blue-dark); }
.la-toast__close   { margin-left: auto; background: none; border: none; color: rgba(255,255,255,.7); cursor: pointer; font-size: 18px; }
.la-toast-container { position: fixed; bottom: var(--la-space-6); right: var(--la-space-6); z-index: 999; display: flex; flex-direction: column; gap: var(--la-space-2); pointer-events: none; }

/* --- Avatar --- */
.la-avatar { display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; overflow: hidden; background: var(--la-primary-lighter); color: var(--la-primary-dark); font-family: var(--la-font-display); font-weight: var(--la-weight-semibold); flex-shrink: 0; }
.la-avatar--sm  { width: 32px;  height: 32px;  font-size: var(--la-text-xs); }
.la-avatar--md  { width: 40px;  height: 40px;  font-size: var(--la-text-sm); }
.la-avatar--lg  { width: 56px;  height: 56px;  font-size: var(--la-text-base); }
.la-avatar--xl  { width: 80px;  height: 80px;  font-size: var(--la-text-lg); }
.la-avatar img  { width: 100%; height: 100%; object-fit: cover; }
.la-avatar-stack { display: flex; }
.la-avatar-stack .la-avatar { border: 2px solid var(--la-surface); }
.la-avatar-stack .la-avatar:not(:first-child) { margin-left: -10px; }


/* ============================================================
   9. SEPARADORES (WP Bakery Separators)
   ============================================================ */
.la-sep { margin: var(--la-space-8) 0; }
.la-sep__line { border: none; border-top: 1px solid var(--la-border); }
.la-sep__line--thick { border-top-width: 2px; }
.la-sep__line--primary { border-color: var(--la-primary); }
.la-sep__line--dashed  { border-style: dashed; }
.la-sep__line--dotted  { border-style: dotted; }

/* Separador com texto */
.la-sep--text {
  display: flex;
  align-items: center;
  gap: var(--la-space-4);
  color: var(--la-text-muted);
  font-size: var(--la-text-sm);
}
.la-sep--text::before,
.la-sep--text::after { content: ''; flex: 1; height: 1px; background: var(--la-border); }

/* Separador decorativo */
.la-sep--decorative { display: flex; justify-content: center; gap: var(--la-space-2); align-items: center; }
.la-sep--decorative::before,
.la-sep--decorative::after { content: ''; width: 40px; height: 2px; background: var(--la-primary); border-radius: var(--la-radius-full); }
.la-sep--decorative span { width: 8px; height: 8px; border-radius: 50%; background: var(--la-primary); }

/* Separador wave / gradient */
.la-sep--gradient { height: 2px; background: linear-gradient(to right, transparent, var(--la-primary), var(--la-secondary-dark), var(--la-blue), transparent); border: none; }


/* ============================================================
   10. WP BAKERY — ELEMENTOS ESPECÍFICOS
   ============================================================ */

/* --- Caixa de Mensagem (Message Box) --- */
.la-message-box {
  display: flex;
  gap: var(--la-space-4);
  padding: var(--la-space-5) var(--la-space-6);
  border-radius: var(--la-radius-lg);
  border: 1px solid var(--la-border);
  background: var(--la-surface);
}
.la-message-box__icon { font-size: 28px; flex-shrink: 0; }
.la-message-box__title { font-family: var(--la-font-display); font-weight: var(--la-weight-semibold); margin-bottom: var(--la-space-1); }
.la-message-box__text { font-size: var(--la-text-sm); color: var(--la-text-2); line-height: var(--la-leading-relaxed); }
.la-message-box--info    { border-color: var(--la-blue-light);   background: var(--la-info-bg); }
.la-message-box--info    .la-message-box__icon { color: var(--la-blue); }
.la-message-box--success { border-color: var(--la-secondary);    background: var(--la-success-bg); }
.la-message-box--success .la-message-box__icon { color: var(--la-secondary-dark); }
.la-message-box--warning { border-color: var(--la-yellow);       background: var(--la-warning-bg); }
.la-message-box--warning .la-message-box__icon { color: var(--la-yellow-dark); }
.la-message-box--error   { border-color: var(--la-primary-light);background: var(--la-error-bg); }
.la-message-box--error   .la-message-box__icon { color: var(--la-primary); }

/* --- Call to Action (CTA) --- */
.la-cta {
  padding: var(--la-space-16) var(--la-space-8);
  border-radius: var(--la-radius-2xl);
  text-align: center;
  background: linear-gradient(135deg, var(--la-primary-lighter) 0%, var(--la-blue-lighter) 100%);
}
.la-cta--primary { background: var(--la-primary); color: var(--la-on-primary); }
.la-cta--dark    { background: var(--la-gray-900); color: var(--la-white); }
.la-cta--green   { background: linear-gradient(135deg, var(--la-secondary-lighter) 0%, var(--la-blue-lighter) 100%); }
.la-cta__eyebrow { font-size: var(--la-text-sm); font-weight: var(--la-weight-semibold); text-transform: uppercase; letter-spacing: .1em; opacity: .7; margin-bottom: var(--la-space-3); }
.la-cta__title { font-family: var(--la-font-display); font-size: var(--la-text-3xl); font-weight: var(--la-weight-bold); line-height: var(--la-leading-tight); margin-bottom: var(--la-space-4); }
.la-cta__text { font-size: var(--la-text-lg); opacity: .8; margin-bottom: var(--la-space-8); max-width: 560px; margin-inline: auto; }
.la-cta__actions { display: flex; justify-content: center; gap: var(--la-space-3); flex-wrap: wrap; }

/* --- Post Grid / Media Grid --- */
.la-post-grid { display: grid; gap: var(--la-space-6); }
.la-post-grid--2 { grid-template-columns: repeat(2,1fr); }
.la-post-grid--3 { grid-template-columns: repeat(3,1fr); }
.la-post-grid--4 { grid-template-columns: repeat(4,1fr); }
@media (max-width: 767px) { .la-post-grid--2,.la-post-grid--3,.la-post-grid--4 { grid-template-columns: 1fr; } }
@media (min-width: 576px) and (max-width: 991px) { .la-post-grid--3,.la-post-grid--4 { grid-template-columns: repeat(2,1fr); } }

/* --- Masonry Grid --- */
.la-masonry { columns: 3; column-gap: var(--la-space-6); }
.la-masonry--2 { columns: 2; }
.la-masonry--4 { columns: 4; }
.la-masonry__item { break-inside: avoid; margin-bottom: var(--la-space-6); }
@media (max-width: 767px) { .la-masonry,.la-masonry--2,.la-masonry--4 { columns: 1; } }
@media (min-width: 576px) and (max-width: 991px) { .la-masonry,.la-masonry--4 { columns: 2; } }

/* --- Image Gallery --- */
.la-gallery { display: grid; gap: var(--la-space-2); }
.la-gallery--3 { grid-template-columns: repeat(3,1fr); }
.la-gallery--4 { grid-template-columns: repeat(4,1fr); }
.la-gallery__item { position: relative; overflow: hidden; border-radius: var(--la-radius-md); aspect-ratio: 1/1; background: var(--la-gray-200); cursor: pointer; }
.la-gallery__item img { width: 100%; height: 100%; object-fit: cover; transition: transform 400ms var(--la-ease); }
.la-gallery__item:hover img { transform: scale(1.05); }
.la-gallery__overlay { position: absolute; inset: 0; background: var(--la-overlay); opacity: 0; display: flex; align-items: center; justify-content: center; transition: opacity 200ms; }
.la-gallery__item:hover .la-gallery__overlay { opacity: 1; }
.la-gallery__overlay i { color: #fff; font-size: 28px; }
@media (max-width: 575px) { .la-gallery--3,.la-gallery--4 { grid-template-columns: repeat(2,1fr); } }

/* --- Slider / Posts Slider --- */
.la-slider { position: relative; overflow: hidden; border-radius: var(--la-radius-lg); }
.la-slider__track { display: flex; transition: transform 400ms var(--la-ease); }
.la-slider__slide { flex: 0 0 100%; }
.la-slider__controls { display: flex; align-items: center; justify-content: center; gap: var(--la-space-2); margin-top: var(--la-space-4); }
.la-slider__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--la-gray-300); cursor: pointer; transition: var(--la-transition-fast); border: none; padding: 0; }
.la-slider__dot--active { background: var(--la-primary); width: 24px; border-radius: var(--la-radius-full); }
.la-slider__btn { width: 40px; height: 40px; border-radius: 50%; background: var(--la-surface); border: 1px solid var(--la-border); display: flex; align-items: center; justify-content: center; cursor: pointer; transition: var(--la-transition-fast); position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; }
.la-slider__btn:hover { background: var(--la-primary); color: #fff; border-color: var(--la-primary); }
.la-slider__btn--prev { left: var(--la-space-3); }
.la-slider__btn--next { right: var(--la-space-3); }

/* --- Imagem Única com legenda --- */
.la-single-image { text-align: center; }
.la-single-image__img { border-radius: var(--la-radius-lg); width: 100%; object-fit: cover; }
.la-single-image__caption { font-size: var(--la-text-xs); color: var(--la-text-muted); margin-top: var(--la-space-2); font-style: italic; }

/* --- Video Player --- */
.la-video { position: relative; border-radius: var(--la-radius-lg); overflow: hidden; background: var(--la-gray-900); }
.la-video__iframe { aspect-ratio: 16/9; width: 100%; display: block; border: none; }
.la-video__thumb { position: relative; cursor: pointer; aspect-ratio: 16/9; }
.la-video__thumb img { width: 100%; height: 100%; object-fit: cover; }
.la-video__play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,.35); transition: background 200ms; }
.la-video__thumb:hover .la-video__play { background: rgba(0,0,0,.5); }
.la-video__play-btn { width: 64px; height: 64px; border-radius: 50%; background: var(--la-primary); display: flex; align-items: center; justify-content: center; color: #fff; font-size: 26px; box-shadow: 0 4px 20px rgba(0,0,0,.4); transition: transform 200ms var(--la-ease-spring); }
.la-video__thumb:hover .la-video__play-btn { transform: scale(1.1); }

/* --- Google Maps wrapper --- */
.la-map { border-radius: var(--la-radius-lg); overflow: hidden; box-shadow: var(--la-shadow-md); }
.la-map iframe { display: block; width: 100%; border: none; }

/* --- Empty Space / Spacer --- */
.la-spacer-sm  { height: var(--la-space-8);  display: block; }
.la-spacer-md  { height: var(--la-space-16); display: block; }
.la-spacer-lg  { height: var(--la-space-24); display: block; }

/* --- Charts wrapper --- */
.la-chart { background: var(--la-surface); border-radius: var(--la-radius-lg); padding: var(--la-space-6); box-shadow: var(--la-shadow-sm); }
.la-chart__title { font-family: var(--la-font-display); font-size: var(--la-text-md); font-weight: var(--la-weight-semibold); margin-bottom: var(--la-space-1); }
.la-chart__subtitle { font-size: var(--la-text-sm); color: var(--la-text-muted); margin-bottom: var(--la-space-5); }
/* Paleta para gráficos: use estas cores em ordem */
/* 1:#ED6D63  2:#9BCEA9  3:#64ABDF  4:#F8D060  5:#D44F45  6:#3E8A56 */

/* --- Widgets WordPress --- */
.la-widget { background: var(--la-surface); border-radius: var(--la-radius-lg); padding: var(--la-space-6); box-shadow: var(--la-shadow-sm); }
.la-widget__title { font-family: var(--la-font-display); font-size: var(--la-text-base); font-weight: var(--la-weight-semibold); margin-bottom: var(--la-space-4); padding-bottom: var(--la-space-3); border-bottom: 2px solid var(--la-primary); display: inline-block; }
.la-widget ul { list-style: none; padding: 0; margin: 0; }
.la-widget ul li { padding: var(--la-space-2) 0; border-bottom: 1px solid var(--la-border); font-size: var(--la-text-sm); }
.la-widget ul li:last-child { border-bottom: none; }
.la-widget ul li a { color: var(--la-text-2); text-decoration: none; }
.la-widget ul li a:hover { color: var(--la-primary); }

/* --- Social Media Icons --- */
.la-social-icons { display: flex; flex-wrap: wrap; gap: var(--la-space-2); align-items: center; }
.la-social-icon {
  width: 40px; height: 40px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  text-decoration: none;
  transition: var(--la-transition);
  background: var(--la-gray-100);
  color: var(--la-text-2);
}
.la-social-icon:hover { transform: translateY(-2px); box-shadow: var(--la-shadow-md); }
.la-social-icon--fb  { background: #E7F0FD; color: #1877F2; }
.la-social-icon--ig  { background: #FCE8EE; color: #E1306C; }
.la-social-icon--tw  { background: #E5F5FD; color: #1DA1F2; }
.la-social-icon--yt  { background: #FFE5E5; color: #FF0000; }
.la-social-icon--wa  { background: #E5F9ED; color: #25D366; }
.la-social-icon--li  { background: #E5EEFA; color: #0A66C2; }
.la-social-icon--fb:hover  { background: #1877F2; color: #fff; }
.la-social-icon--ig:hover  { background: linear-gradient(45deg,#f09433,#dc2743,#bc1888); color: #fff; }
.la-social-icon--tw:hover  { background: #1DA1F2; color: #fff; }
.la-social-icon--yt:hover  { background: #FF0000; color: #fff; }
.la-social-icon--wa:hover  { background: #25D366; color: #fff; }
.la-social-icon--li:hover  { background: #0A66C2; color: #fff; }

/* --- Flickr Widget --- */
.la-flickr { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--la-space-1); }
.la-flickr__img { aspect-ratio: 1/1; object-fit: cover; border-radius: var(--la-radius-sm); transition: opacity 200ms; }
.la-flickr__img:hover { opacity: .85; }

/* --- Pageable Container --- */
.la-pageable { position: relative; }
.la-pageable__pages { position: relative; overflow: hidden; }
.la-pageable__page { display: none; }
.la-pageable__page--active { display: block; animation: la-fadeIn 250ms var(--la-ease); }
@keyframes la-fadeIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.la-pageable__dots { display: flex; justify-content: center; gap: var(--la-space-2); margin-top: var(--la-space-4); }

/* --- Rows WP Bakery (row full-bleed com background) --- */
.la-wpb-row { padding-block: var(--la-space-16); }
.la-wpb-row--bg-primary { background: var(--la-primary); color: var(--la-on-primary); }
.la-wpb-row--bg-light   { background: var(--la-gray-50); }
.la-wpb-row--bg-dark    { background: var(--la-gray-900); color: var(--la-white); }
.la-wpb-row--bg-green   { background: var(--la-secondary-lighter); }
.la-wpb-row--bg-yellow  { background: var(--la-yellow-lighter); }
.la-wpb-row--bg-blue    { background: var(--la-blue-lighter); }


/* ============================================================
   11. UTILITÁRIOS
   ============================================================ */
/* Cores de fundo */
.la-bg-primary  { background-color: var(--la-primary) !important; }
.la-bg-secondary{ background-color: var(--la-secondary) !important; }
.la-bg-blue     { background-color: var(--la-blue) !important; }
.la-bg-yellow   { background-color: var(--la-yellow) !important; }
.la-bg-light    { background-color: var(--la-gray-100) !important; }
.la-bg-dark     { background-color: var(--la-gray-900) !important; }
.la-bg-white    { background-color: var(--la-white) !important; }

/* Margens */
.la-mt-0{margin-top:0!important}.la-mt-2{margin-top:var(--la-space-2)!important}.la-mt-4{margin-top:var(--la-space-4)!important}.la-mt-6{margin-top:var(--la-space-6)!important}.la-mt-8{margin-top:var(--la-space-8)!important}
.la-mb-0{margin-bottom:0!important}.la-mb-2{margin-bottom:var(--la-space-2)!important}.la-mb-4{margin-bottom:var(--la-space-4)!important}.la-mb-6{margin-bottom:var(--la-space-6)!important}.la-mb-8{margin-bottom:var(--la-space-8)!important}
.la-mx-auto{margin-inline:auto!important}

/* Padding */
.la-p-0{padding:0!important}.la-p-4{padding:var(--la-space-4)!important}.la-p-6{padding:var(--la-space-6)!important}.la-p-8{padding:var(--la-space-8)!important}

/* Display */
.la-d-none   { display: none !important; }
.la-d-block  { display: block !important; }
.la-d-flex   { display: flex !important; }
.la-d-grid   { display: grid !important; }
@media (max-width: 767px)  { .la-d-none-md  { display: none !important; } .la-d-block-md { display: block !important; } }
@media (max-width: 575px)  { .la-d-none-sm  { display: none !important; } .la-d-block-sm { display: block !important; } }

/* Sombras */
.la-shadow-none { box-shadow: none !important; }
.la-shadow-sm   { box-shadow: var(--la-shadow-sm) !important; }
.la-shadow-md   { box-shadow: var(--la-shadow-md) !important; }
.la-shadow-lg   { box-shadow: var(--la-shadow-lg) !important; }

/* Raios */
.la-rounded-none { border-radius: 0 !important; }
.la-rounded-sm   { border-radius: var(--la-radius-sm) !important; }
.la-rounded-md   { border-radius: var(--la-radius-md) !important; }
.la-rounded-lg   { border-radius: var(--la-radius-lg) !important; }
.la-rounded-xl   { border-radius: var(--la-radius-xl) !important; }
.la-rounded-full { border-radius: var(--la-radius-full) !important; }

/* Texto */
.la-text-center { text-align: center !important; }
.la-text-left   { text-align: left !important; }
.la-text-right  { text-align: right !important; }
.la-truncate    { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Overflow */
.la-overflow-hidden { overflow: hidden !important; }

/* Interação */
.la-cursor-pointer { cursor: pointer; }
.la-select-none    { user-select: none; }
.la-pointer-none   { pointer-events: none; }


/* ============================================================
   12. SKELETON LOADER
   ============================================================ */
@keyframes la-shimmer {
  0%   { background-position: -400px 0; }
  100% { background-position: 400px 0; }
}
.la-skeleton {
  background: linear-gradient(90deg, var(--la-gray-200) 25%, var(--la-gray-100) 50%, var(--la-gray-200) 75%);
  background-size: 800px 100%;
  animation: la-shimmer 1.4s ease infinite;
  border-radius: var(--la-radius-md);
}
.la-skeleton--text   { height: 14px; border-radius: var(--la-radius-sm); margin-bottom: var(--la-space-2); }
.la-skeleton--title  { height: 24px; width: 60%; border-radius: var(--la-radius-sm); margin-bottom: var(--la-space-3); }
.la-skeleton--circle { border-radius: 50%; }
.la-skeleton--card   { height: 200px; }
.la-skeleton--media  { aspect-ratio: 16/9; }


/* ============================================================
   13. RESPONSIVIDADE MÓVEL — REGRAS ESPECÍFICAS
   ============================================================ */
@media (max-width: 575px) {
  h1, .la-h1 { font-size: var(--la-text-2xl); }
  h2, .la-h2 { font-size: var(--la-text-xl); }
  h3, .la-h3 { font-size: var(--la-text-lg); }
  .la-display-1 { font-size: var(--la-text-3xl); }
  .la-display-2 { font-size: var(--la-text-2xl); }
  .la-container { padding-inline: var(--la-space-4); }
  .la-section { padding-block: var(--la-space-12); }
  .la-cta { padding: var(--la-space-10) var(--la-space-5); }
  .la-cta__title { font-size: var(--la-text-2xl); }
  .la-card--horizontal { flex-direction: column; }
  .la-card--horizontal .la-card__media { width: 100%; height: 200px; }
  .la-form-actions { flex-direction: column; }
  .la-form-actions .la-btn { width: 100%; justify-content: center; }
  .la-stepper__label { display: none; }
  .la-pagination__item { min-width: 32px; height: 32px; font-size: var(--la-text-xs); }
  .la-tabs__tab { padding: var(--la-space-2) var(--la-space-3); font-size: var(--la-text-xs); }
  .la-masonry { columns: 1; }
  .la-gallery--3, .la-gallery--4 { grid-template-columns: repeat(2,1fr); }
}

@media (min-width: 576px) and (max-width: 767px) {
  .la-container { padding-inline: var(--la-space-5); }
}

/* Print */
@media print {
  .la-navbar, .la-sidebar-nav, .la-fab, .la-toast-container { display: none !important; }
  .la-card { box-shadow: none; border: 1px solid var(--la-border); }
  a { color: var(--la-text) !important; }
}
