.fx-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--fx-space-2);min-height:var(--fx-touch-min);padding:0.8rem 1.35rem;border-radius:var(--fx-radius-md);border:1px solid transparent;font-family:var(--fx-font-body);font-weight:650;font-size:var(--fx-text-sm);line-height:1;letter-spacing:-0.01em;text-decoration:none;box-shadow:var(--fx-shadow-xs);transition:background var(--fx-duration) var(--fx-ease), color var(--fx-duration) var(--fx-ease), border-color var(--fx-duration) var(--fx-ease), box-shadow var(--fx-duration) var(--fx-ease), transform var(--fx-duration-fast) var(--fx-ease), opacity var(--fx-duration) var(--fx-ease);}.fx-btn:hover:not(:disabled):not([aria-disabled="true"]){transform:translateY(-1px);box-shadow:var(--fx-shadow-sm);}.fx-btn:active:not(:disabled){transform:translateY(0);}.fx-btn--primary{background:var(--fx-cta-grad, var(--fx-brand));color:#fff;border-color:transparent;box-shadow:0 10px 24px color-mix(in srgb, #ea580c 28%, transparent);}.fx-btn--primary:hover:not(:disabled){background:var(--fx-cta-grad-hover, var(--fx-brand-hover));color:#fff;}.fx-btn--accent{background:var(--fx-cta-grad, #ea580c);color:#fff;border-color:transparent;box-shadow:0 10px 24px color-mix(in srgb, #ea580c 30%, transparent);}.fx-btn--accent:hover:not(:disabled){background:var(--fx-cta-grad-hover, #c2410c);color:#fff;}.fx-btn--whatsapp{background:linear-gradient(135deg, #22c55e 0%, #16a34a 100%);color:#fff;box-shadow:0 10px 24px rgba(22, 163, 74, 0.28);}.fx-btn--whatsapp:hover:not(:disabled){background:linear-gradient(135deg, #16a34a 0%, #15803d 100%);color:#fff;}.fx-btn--outline{background:var(--fx-surface-elevated);border-color:var(--fx-border-strong);color:var(--fx-ink);box-shadow:none;}.fx-btn--outline:hover:not(:disabled){border-color:var(--fx-accent);color:var(--fx-accent);background:var(--fx-accent-soft);}.fx-btn--ghost{background:transparent;color:var(--fx-ink);border-color:transparent;box-shadow:none;}.fx-btn--ghost:hover:not(:disabled){background:var(--fx-warm);}.fx-btn--soft{background:var(--fx-warm);color:var(--fx-ink);box-shadow:none;}.fx-btn--soft:hover:not(:disabled){background:color-mix(in srgb, var(--fx-accent) 12%, var(--fx-warm));}.fx-btn--sm{min-height:2.25rem;padding:0.45rem 0.9rem;font-size:var(--fx-text-sm);border-radius:var(--fx-radius-sm);}.fx-btn--lg{min-height:3.35rem;padding:1rem 1.6rem;font-size:var(--fx-text-md);border-radius:var(--fx-radius-lg);}.fx-btn--block{width:100%;}.fx-btn--icon{padding-inline:0.75rem;}.fx-btn .fx-icon{display:inline-flex;width:1.05em;height:1.05em;}.fx-btn .fx-icon svg{width:100%;height:100%;}.fx-btn--accent.fx-animate-pulse, .fx-btn--whatsapp.fx-animate-pulse{animation:fx-pulse 2.2s var(--fx-ease) infinite;}.fx-btn:disabled, .fx-btn[aria-disabled="true"]{opacity:0.45;cursor:not-allowed;transform:none;pointer-events:none;}.fx-btn.is-loading{position:relative;color:transparent !important;pointer-events:none;}.fx-btn.is-loading::after{content:"";position:absolute;width:1rem;height:1rem;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;color:var(--fx-on-brand);animation:fx-spin 0.7s linear infinite;}.fx-btn--outline.is-loading::after, .fx-btn--ghost.is-loading::after{color:var(--fx-brand);}.fx-badge{display:inline-flex;align-items:center;gap:var(--fx-space-1);padding:0.2rem 0.55rem;border-radius:var(--fx-radius-sm);font-size:var(--fx-text-xs);font-weight:650;line-height:1.3;background:var(--fx-warm);color:var(--fx-ink);}.fx-badge--brand{background:color-mix(in srgb, var(--fx-brand) 12%, transparent);color:var(--fx-brand);}.fx-badge--accent{background:color-mix(in srgb, var(--fx-accent) 14%, transparent);color:var(--fx-accent);}.fx-badge--success{background:var(--fx-success-bg);color:var(--fx-success);}.fx-badge--warning{background:var(--fx-warning-bg);color:var(--fx-warning);}.fx-badge--danger{background:var(--fx-danger-bg);color:var(--fx-danger);}.fx-badge--info{background:var(--fx-info-bg);color:var(--fx-info);}.fx-chip{display:inline-flex;align-items:center;gap:var(--fx-space-2);min-height:2.25rem;padding:0.4rem 0.95rem;border-radius:var(--fx-radius-full);border:1px solid var(--fx-border);background:var(--fx-surface-elevated);color:var(--fx-ink);font-size:var(--fx-text-sm);font-weight:550;text-decoration:none;transition:border-color var(--fx-duration) var(--fx-ease), background var(--fx-duration) var(--fx-ease);}a.fx-chip:hover, button.fx-chip:hover{border-color:var(--fx-brand);background:var(--fx-warm);color:var(--fx-brand);}.fx-chip.is-active{border-color:var(--fx-brand);background:var(--fx-brand);color:var(--fx-on-brand);}.fx-chip:disabled, .fx-chip[aria-disabled="true"]{opacity:0.45;pointer-events:none;}.fx-label{display:block;font-size:var(--fx-text-sm);font-weight:650;margin-bottom:var(--fx-space-2);color:var(--fx-ink);}.fx-label__req{color:var(--fx-danger);margin-left:0.15rem;}.fx-hint, .fx-error{display:block;margin-top:var(--fx-space-2);font-size:var(--fx-text-sm);}.fx-hint{color:var(--fx-muted);}.fx-error{color:var(--fx-danger);}.fx-input, .fx-textarea, .fx-select{width:100%;min-height:var(--fx-control-h-md);padding:0.65rem 0.85rem;border:1px solid var(--fx-border-strong);border-radius:var(--fx-radius-sm);background:var(--fx-surface-elevated);color:var(--fx-ink);transition:border-color var(--fx-duration) var(--fx-ease), box-shadow var(--fx-duration) var(--fx-ease);}.fx-textarea{min-height:8rem;resize:vertical;line-height:var(--fx-leading-normal);}.fx-input:hover, .fx-textarea:hover, .fx-select:hover{border-color:var(--fx-muted);}.fx-input:focus, .fx-textarea:focus, .fx-select:focus{border-color:var(--fx-brand);outline:none;box-shadow:var(--fx-shadow-focus);}.fx-input:disabled, .fx-textarea:disabled, .fx-select:disabled, .fx-input[aria-disabled="true"]{opacity:0.55;cursor:not-allowed;background:var(--fx-warm);}.fx-input.is-invalid, .fx-textarea.is-invalid, .fx-select.is-invalid{border-color:var(--fx-danger);}.fx-input--sm{min-height:var(--fx-control-h-sm);padding:0.4rem 0.7rem;}.fx-input--lg{min-height:var(--fx-control-h-lg);padding:0.85rem 1rem;}.fx-check, .fx-radio{display:inline-flex;align-items:flex-start;gap:var(--fx-space-3);font-size:var(--fx-text-sm);line-height:1.4;}.fx-check input, .fx-radio input{width:1.15rem;height:1.15rem;margin-top:0.1rem;accent-color:var(--fx-brand);flex-shrink:0;}.fx-field{display:flex;flex-direction:column;gap:0;}.fx-form{display:flex;flex-direction:column;gap:var(--fx-space-5);}.fx-form__actions{display:flex;flex-wrap:wrap;gap:var(--fx-space-3);margin-top:var(--fx-space-2);}.fx-alert{display:flex;gap:var(--fx-space-3);padding:var(--fx-space-4);border-radius:var(--fx-radius-md);border:1px solid var(--fx-border);background:var(--fx-surface-elevated);}.fx-alert__body{flex:1;min-width:0;}.fx-alert__title{font-weight:650;margin:0 0 var(--fx-space-1);}.fx-alert__text{margin:0;color:var(--fx-muted);font-size:var(--fx-text-sm);}.fx-alert--info{background:var(--fx-info-bg);border-color:transparent;}.fx-alert--success{background:var(--fx-success-bg);border-color:transparent;}.fx-alert--warning{background:var(--fx-warning-bg);border-color:transparent;}.fx-alert--danger{background:var(--fx-danger-bg);border-color:transparent;}.fx-card{background:var(--fx-surface-elevated);border:1px solid var(--fx-border);border-radius:var(--fx-radius-md);box-shadow:var(--fx-shadow-xs);overflow:hidden;}.fx-card__header, .fx-card__body, .fx-card__footer{padding:var(--fx-space-5);}.fx-card__header{border-bottom:1px solid var(--fx-border);font-weight:650;}.fx-card__footer{border-top:1px solid var(--fx-border);background:var(--fx-warm);}.fx-card--flat{box-shadow:none;}.fx-card--interactive{transition:box-shadow var(--fx-duration) var(--fx-ease), transform var(--fx-duration) var(--fx-ease);}.fx-card--interactive:hover{box-shadow:var(--fx-shadow-md);transform:translateY(-1px);}.fx-list{display:flex;flex-direction:column;}.fx-list__item{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--fx-space-4);padding:var(--fx-space-4) 0;border-bottom:1px solid var(--fx-border);}.fx-list__item:last-child{border-bottom:0;}.fx-list__title{font-weight:650;margin:0 0 var(--fx-space-1);}.fx-list__meta{margin:0;color:var(--fx-muted);font-size:var(--fx-text-sm);}.fx-breadcrumb ol{display:flex;flex-wrap:wrap;gap:var(--fx-space-1);list-style:none;margin:0;padding:0;font-size:var(--fx-text-sm);color:var(--fx-muted);}.fx-breadcrumb li:not(:last-child)::after{content:"/";margin-left:var(--fx-space-1);opacity:0.45;}.fx-breadcrumb a{color:var(--fx-muted);text-decoration:none;}.fx-breadcrumb a:hover{color:var(--fx-brand);}.fx-breadcrumb [aria-current="page"]{color:var(--fx-ink);font-weight:550;}.fx-accordion{border-top:1px solid var(--fx-border);}.fx-accordion__item{border-bottom:1px solid var(--fx-border);}.fx-accordion__trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--fx-space-4);min-height:var(--fx-touch-min);padding:var(--fx-space-4) 0;font-weight:650;text-align:left;color:var(--fx-ink);}.fx-accordion__icon{width:1rem;height:1rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform var(--fx-duration) var(--fx-ease);flex-shrink:0;}.fx-accordion__item[open] .fx-accordion__icon{transform:rotate(225deg);}.fx-accordion__panel{padding:0 0 var(--fx-space-4);color:var(--fx-muted);line-height:var(--fx-leading-relaxed);}.fx-tabs__list{display:flex;flex-wrap:wrap;gap:var(--fx-space-1);border-bottom:1px solid var(--fx-border);margin-bottom:var(--fx-space-5);}.fx-tabs__tab{min-height:var(--fx-touch-min);padding:var(--fx-space-3) var(--fx-space-4);font-weight:650;color:var(--fx-muted);border-bottom:2px solid transparent;margin-bottom:-1px;}.fx-tabs__tab:hover{color:var(--fx-ink);}.fx-tabs__tab[aria-selected="true"]{color:var(--fx-brand);border-bottom-color:var(--fx-brand);}.fx-tabs__panel:focus{outline:none;}.fx-tabs__panel[hidden]{display:none;}.fx-table-wrap{width:100%;overflow-x:auto;}.fx-table{width:100%;border-collapse:collapse;font-size:var(--fx-text-sm);}.fx-table th, .fx-table td{text-align:left;padding:var(--fx-space-3) var(--fx-space-4);border-bottom:1px solid var(--fx-border);vertical-align:top;}.fx-table th{font-weight:650;color:var(--fx-muted);font-size:var(--fx-text-xs);text-transform:uppercase;letter-spacing:var(--fx-tracking-wide);}.fx-table--striped tbody tr:nth-child(even){background:var(--fx-warm);}.fx-quote{margin:0;padding:var(--fx-space-6);border-left:3px solid var(--fx-accent);background:var(--fx-warm);border-radius:0 var(--fx-radius-md) var(--fx-radius-md) 0;}.fx-quote__text{margin:0 0 var(--fx-space-3);font-style:italic;font-size:var(--fx-text-lg);line-height:var(--fx-leading-relaxed);}.fx-quote__cite{font-style:normal;font-weight:650;font-size:var(--fx-text-sm);color:var(--fx-muted);}.fx-callout{padding:var(--fx-space-5);border-radius:var(--fx-radius-md);border:1px solid var(--fx-border);background:var(--fx-surface-elevated);}.fx-callout__title{font-family:var(--fx-font-display);font-size:var(--fx-text-lg);font-weight:650;margin:0 0 var(--fx-space-2);}.fx-callout__body{margin:0;color:var(--fx-muted);}.fx-callout--tip{border-color:transparent;background:var(--fx-success-bg);}.fx-callout--warning{border-color:transparent;background:var(--fx-warning-bg);}.fx-callout--note{border-color:transparent;background:var(--fx-info-bg);}.fx-callout--danger{border-color:transparent;background:var(--fx-danger-bg);}.fx-icon{display:inline-flex;width:1.25rem;height:1.25rem;flex-shrink:0;color:currentColor;}.fx-icon svg{width:100%;height:100%;}.fx-icon--sm{width:1rem;height:1rem;}.fx-icon--lg{width:1.5rem;height:1.5rem;}.fx-gallery{display:grid;grid-template-columns:repeat(auto-fill, minmax(240px, 1fr));gap:var(--fx-space-3);}.fx-gallery__item{margin:0;overflow:hidden;border-radius:var(--fx-radius-md);background:var(--fx-warm);}.fx-gallery__item img{width:100%;aspect-ratio:4 / 3;object-fit:cover;}.fx-gallery__caption{padding:var(--fx-space-3);font-size:var(--fx-text-sm);color:var(--fx-muted);}.fx-spinner{width:1.25rem;height:1.25rem;border:2px solid var(--fx-border);border-top-color:var(--fx-brand);border-radius:50%;animation:fx-spin 0.7s linear infinite;}.fx-spinner--lg{width:2rem;height:2rem;}.fx-skeleton{display:block;background:linear-gradient(90deg, var(--fx-warm) 25%, var(--fx-border) 50%, var(--fx-warm) 75%);background-size:200% 100%;animation:fx-shimmer 1.2s ease-in-out infinite;border-radius:var(--fx-radius-sm);}.fx-skeleton--text{height:0.9em;width:100%;margin-bottom:0.5em;}.fx-skeleton--title{height:1.4em;width:60%;margin-bottom:0.75em;}.fx-skeleton--media{aspect-ratio:16 / 9;width:100%;}.fx-empty{text-align:center;padding:var(--fx-space-12) var(--fx-space-6);border:1px dashed var(--fx-border);border-radius:var(--fx-radius-md);background:var(--fx-warm);}.fx-empty__title{font-family:var(--fx-font-display);font-size:var(--fx-text-xl);margin:0 0 var(--fx-space-2);}.fx-empty__text{margin:0 0 var(--fx-space-5);color:var(--fx-muted);}.fx-empty__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--fx-space-3);}@keyframes fx-spin{to{transform:rotate(360deg);}}@keyframes fx-shimmer{0%{background-position:200% 0;}100%{background-position:-200% 0;}}@media (prefers-reduced-motion:reduce){.fx-btn:hover, .fx-card--interactive:hover{transform:none;}.fx-spinner, .fx-btn.is-loading::after, .fx-skeleton{animation:none;}}