/* Casa Berri native components. Visual conventions adapted from shadcn/ui. */
button{color:inherit}button:disabled{cursor:default}button,input,textarea{font-family:var(--sans)}
.ui-button,[data-slot=button]{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:11px 20px;border:1px solid transparent;border-radius:var(--radius);font-size:14px;font-weight:500;line-height:1.4;text-decoration:none;background:var(--primary);color:var(--primary-foreground);transition:background-color var(--duration-normal) var(--ease),transform var(--duration-normal) var(--ease),color var(--duration-normal) var(--ease)}
.ui-button:hover,[data-slot=button]:hover{background:color-mix(in srgb,var(--primary) 88%,var(--foreground))}.ui-button:active,[data-slot=button]:active{transform:translateY(1px)}
.ui-button:focus-visible,[data-slot=button]:focus-visible,[data-slot=input]:focus-visible,[data-slot=textarea]:focus-visible{outline:2px solid var(--ring);outline-offset:3px}
.ui-button:disabled,[data-slot=button]:disabled{opacity:.5;pointer-events:none}
[data-slot=button][data-variant=outline]{border-color:var(--input);background:var(--background);color:var(--foreground)}
[data-slot=button][data-variant=outline]:hover{background:var(--muted)}
[data-slot=button][data-variant=secondary]{background:var(--secondary);color:var(--secondary-foreground)}
.ui-ghost,[data-slot=button][data-variant=ghost]{background:transparent;color:var(--foreground)}
.ui-ghost:hover,[data-slot=button][data-variant=ghost]:hover{background:var(--muted)}
[data-slot=button][data-variant=link]{background:transparent;color:var(--primary);text-decoration:underline;text-underline-offset:4px}
[data-slot=button][data-variant=destructive]{background:var(--destructive);color:var(--background)}
[data-slot=badge]{display:inline-flex;align-items:center;padding:4px 10px;border:1px solid transparent;border-radius:var(--radius);background:var(--primary);color:var(--primary-foreground);font-size:11px;font-weight:500}
[data-slot=badge][data-variant=secondary]{background:var(--secondary);color:var(--secondary-foreground)}
[data-slot=badge][data-variant=outline]{background:transparent;border-color:var(--input);color:var(--foreground)}
[data-slot=badge][data-variant=destructive]{background:var(--destructive);color:var(--background)}
[data-slot=badge].success-badge{background:var(--success-surface);color:var(--success)}[data-slot=badge].warning-badge{background:var(--warning-surface);color:var(--warning)}
[data-slot=card]{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);color:var(--card-foreground)}
[data-slot=card-header]{padding:24px 24px 16px}[data-slot=card-title]{font:28px/1.2 var(--serif)}[data-slot=card-description]{font-size:13px;color:var(--muted-foreground);margin-top:8px}[data-slot=card-content]{padding:8px 24px 24px}
[data-slot=input],[data-slot=textarea]{width:100%;display:block;background:var(--background);color:var(--foreground);border:1px solid var(--input);border-radius:var(--radius);font-size:14px;line-height:1.5;min-height:44px;padding:10px 12px}[data-slot=textarea]{min-height:100px;resize:vertical}
[data-slot=input]:disabled{opacity:.6;cursor:not-allowed}[data-slot=input]::placeholder,[data-slot=textarea]::placeholder{color:var(--muted-foreground)}[data-slot=input][aria-invalid=true]{border-color:var(--destructive)}[data-slot=label]{font-size:13px;font-weight:500}
[data-slot=alert],.ui-alert{display:block;padding:18px 22px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);color:var(--card-foreground);font-size:13px}[data-slot=alert-title]{font-weight:600;margin-bottom:5px}[data-slot=alert-description]{color:var(--muted-foreground);line-height:1.6}.success-alert{background:var(--success-surface);color:var(--success)}.success-alert p{margin:5px 0 0}[data-slot=separator]{height:1px;background:var(--border);margin:16px 0}
.icon,[data-slot=button] svg{width:16px;height:16px;flex-shrink:0;stroke-width:1.5}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.contact-button{margin-top:16px;font-size:clamp(15px,1.6vw,23px);padding:16px 20px}.contact-button span{font-size:20px}
.mobile-dialog{position:fixed;inset:0 0 0 auto;margin:0;width:min(90vw,400px);height:100dvh;max-height:none;max-width:none;padding:28px;background:var(--background);color:var(--foreground);border:0;box-shadow:var(--shadow-overlay)}.mobile-dialog::backdrop{background:#252b2a66}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.dialog-head h2{font:36px var(--serif);margin:0}.dialog-head .ui-button{font-size:28px;padding:6px 14px}.mobile-dialog>p{font-size:13px;color:var(--muted-foreground);margin:22px 0}.mobile-dialog nav{display:flex;flex-direction:column}.mobile-dialog nav a{padding:20px 0;border-bottom:1px solid var(--border);text-decoration:none;font:25px var(--serif)}.mobile-dialog .sheet-mail{display:inline-block;margin-top:30px}
.accordion details{border-bottom:1px solid var(--border)}.accordion summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:22px 0;font-size:15px;font-weight:500;min-height:64px}.accordion summary::-webkit-details-marker{display:none}.accordion summary span{font-size:22px;font-weight:400;transition:transform var(--duration-normal) var(--ease)}.accordion details[open] summary span{transform:rotate(45deg)}.accordion details p{font-size:14px;color:var(--muted-foreground);line-height:1.75;padding-bottom:22px;margin:0}.accordion summary:focus-visible{outline:2px solid var(--ring);outline-offset:4px}
.sector-tab[aria-selected=true]{color:var(--primary);padding-left:18px;border-color:var(--primary)}.magnetic-link{scale:var(--proximity,1);transform-origin:left;transition:scale var(--duration-emphasis) var(--ease),gap var(--duration-emphasis) var(--ease)}
.dark .house-mark img{mix-blend-mode:normal}.dark [data-slot=button][data-variant=destructive],.dark [data-slot=badge][data-variant=destructive]{color:var(--background)}
@media(max-width:700px){.desktop-links{display:none!important}.sector-tab[aria-selected=true]{padding-left:0}.accordion summary{font-size:13px}.contact-button{font-size:16px}}
@media(hover:none),(prefers-reduced-motion:reduce){.magnetic-link{scale:1!important}}
