/* Libreria_Q3-2026 / Units 15:1492. Preview states use the same rules as live controls. */
.btn, .button-arrow, .btn-contact, .contact-action {border-radius:var(--radius-xs);transition:opacity var(--timing-short-normal) var(--easing-onscreen);}
.btn {display:inline-flex;align-items:center;justify-content:center;min-width:0;gap:0;padding:var(--space-ss) var(--space-s);font:700 var(--text-btn-m)/var(--lh-btn-m) var(--font-body);border:0;cursor:pointer;}
.btn--small {padding:var(--space-xs) var(--space-s);font-size:var(--text-btn-s);line-height:var(--lh-btn-s);}
.btn::after, .text-link::after, .btn-contact__label::after, .contact-action span::after {content:none;display:inline;white-space:pre;opacity:1;max-width:none;margin:0;overflow:visible;transition:none;}
.button-arrow {position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border:0;cursor:pointer;}
.button-arrow--small {width:36px;height:36px;padding:var(--space-xs);}
.button-arrow--large {width:52px;height:52px;padding:var(--space-ss);}
.button-arrow--mute {border:1px solid var(--stroke-secondary);}
.button-arrow::before {content:'';position:absolute;left:50%;top:50%;width:20px;height:20px;background-position:center;background-repeat:no-repeat;background-size:contain;transform:translate(-50%,-50%);opacity:1;transition:none;}
.button-arrow--large::before {width:28px;height:28px;}
.button-arrow::after {content:none;display:none;}
.btn-contact, .contact-action {border:1px solid var(--stroke-secondary);color:var(--text-primary);}
.contact-action {display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-s) var(--space-xs) var(--space-xs);height:44px;min-height:44px;font:700 var(--text-btn-m)/var(--lh-btn-m) var(--font-body);}
.contact-action img {flex-shrink:0;width:28px;height:28px;margin:0;}
.contact-action--whatsapp img {width:20px;height:20.3794px;margin:4px;}
.contact-action--small {height:36px;min-height:36px;font-size:var(--text-btn-s);line-height:var(--lh-btn-s);}
.contact-action--small img {width:20px;height:20px;}
.contact-action--small.contact-action--whatsapp img {width:14.29px;height:14.56px;margin:2.85px;}
.contact-action--small.contact-action--email {width:175px;}
.contact-action--small.contact-action--linkedin {width:165px;}
.contact-action--small.contact-action--whatsapp {width:185px;}
.btn-contact__thumb {position:relative;width:40px;height:40px;border-radius:8px;overflow:hidden;}
.btn-contact__thumb img {position:absolute;width:76px;height:112px;max-width:none;left:-10px;top:-8px;object-fit:cover;}
.btn-contact__label {font:700 var(--text-btn-l)/var(--lh-btn-l) var(--font-body);transition:none;}
.btn-contact--small {width:190px;min-height:48px;max-height:48px;}
.btn-contact--small .btn-contact__thumb {width:32px;height:32px;}
.btn-contact--small .btn-contact__thumb img {left:-8px;top:-10px;}
.btn-contact--small .btn-contact__label {font-size:16px;line-height:19px;}
.text-link {text-decoration:none;transition:none;color:var(--text-primary);font:700 var(--text-btn-m)/var(--lh-btn-m) var(--font-body);}
.text-link--place {color:var(--text-secondary);}
.pill {display:inline-flex;align-items:center;justify-content:center;background:var(--surface-main);border:1px solid var(--stroke-secondary);border-radius:var(--radius-s);padding:var(--space-xxs) var(--space-ss);color:var(--text-primary);font:300 var(--text-cap-m)/var(--lh-cap-m) var(--font-body);}
.pill--small {padding:var(--space-nano) var(--space-xs);font-size:var(--text-cap-s);line-height:var(--lh-cap-s);}
.pill--accent, .pill--main, .pill--alert {border:0;border-radius:var(--radius-l);padding:var(--space-xs) var(--space-s);color:var(--text-static-inverse);font-size:var(--text-cap-l);line-height:var(--lh-cap-l);}
.pill--accent {background:var(--surface-accent);}
.pill--main {background:var(--feedback-positive);}
.pill--alert {background:var(--feedback-alert);}
.pill:is(.pill--accent,.pill--main,.pill--alert).pill--small {padding:var(--space-xxs) var(--space-ss);font-size:var(--text-cap-m);line-height:var(--lh-cap-m);}
textarea {height:120px;min-width:256px;width:517px;max-width:100%;padding:12px;border:1px solid var(--stroke-primary);border-radius:var(--radius-xs);background:transparent;color:var(--text-primary);font:300 18px/25px var(--font-body);}
textarea::placeholder {color:var(--text-primary);opacity:1;}
:is(a,button,textarea):focus-visible {outline:2px solid var(--interactive-primary-idle);outline-offset:4px;}
.btn--loud {background:var(--interactive-primary-idle);color:var(--text-static-inverse);}
.button-arrow--loud {background:var(--interactive-primary-idle);color:var(--text-static-inverse);}
.btn--mute {background:var(--interactive-secondary-idle);color:var(--interactive-primary-idle);border:1px solid var(--stroke-secondary);padding:calc(var(--space-ss) - 1px) calc(var(--space-s) - 1px);}
/* Figma strokes are inside: keep the existing outer button geometry. */
.btn--mute.btn--small {padding:calc(var(--space-xs) - 1px) calc(var(--space-s) - 1px);}
.button-arrow--mute {background:var(--interactive-secondary-idle);color:var(--interactive-primary-idle);}
.contact-action {background:var(--interactive-secondary-idle);}
.btn-contact {background:var(--interactive-secondary-idle);}
.button-arrow--loud.button-arrow--small::before {opacity:1;background-image:url("../assets/Home/v2/button-arrow-state-1.svg");}
.button-arrow--loud.button-arrow--large::before {opacity:1;background-image:url("../assets/Home/v2/button-arrow-state-0.svg");}
.button-arrow--mute.button-arrow--small::before {opacity:1;background-image:url("../assets/Home/v2/button-arrow-state-3.svg");}
.button-arrow--mute.button-arrow--large::before {opacity:1;background-image:url("../assets/Home/v2/button-arrow-state-2.svg");}
.btn--loud:not(:disabled):is(:hover, [data-preview-state="hover"]) {background:var(--interactive-primary-hover);color:var(--text-static-inverse);}
.button-arrow--loud:not(:disabled):is(:hover, [data-preview-state="hover"]) {background:var(--interactive-primary-hover);color:var(--text-static-inverse);}
.btn--mute:not(:disabled):is(:hover, [data-preview-state="hover"]) {background:var(--interactive-secondary-hover);color:var(--interactive-primary-hover);}
.button-arrow--mute:not(:disabled):is(:hover, [data-preview-state="hover"]) {background:var(--interactive-secondary-hover);color:var(--interactive-primary-hover);}
.contact-action:not(:disabled):is(:hover, [data-preview-state="hover"]) {background:var(--interactive-secondary-hover);}
.btn-contact:not(:disabled):is(:hover, [data-preview-state="hover"]) {background:var(--interactive-secondary-hover);}
.btn:not(:disabled):is(:hover, [data-preview-state="hover"])::after {content:' →';opacity:1;margin:0;max-width:none;display:inline;}
.text-link:not(:disabled):is(:hover, [data-preview-state="hover"])::after {content:' →';opacity:1;margin:0;max-width:none;display:inline;}
.btn-contact:not(:disabled):is(:hover, [data-preview-state="hover"]) .btn-contact__label::after {content:' →';opacity:1;margin:0;max-width:none;display:inline;}
.contact-action:not(:disabled):is(:hover, [data-preview-state="hover"]) span::after {content:' →';opacity:1;margin:0;max-width:none;display:inline;}
.text-link:not(:disabled):is(:hover, [data-preview-state="hover"]) {color:var(--text-primary);}
.button-arrow--loud.button-arrow--small:not(:disabled):is(:hover, [data-preview-state="hover"])::before {opacity:1;background-image:url("../assets/Home/v2/button-arrow-state-5.svg");}
.button-arrow--loud.button-arrow--large:not(:disabled):is(:hover, [data-preview-state="hover"])::before {opacity:1;background-image:url("../assets/Home/v2/button-arrow-state-4.svg");}
.button-arrow--mute.button-arrow--small:not(:disabled):is(:hover, [data-preview-state="hover"])::before {opacity:1;background-image:url("../assets/Home/v2/button-arrow-state-7.svg");}
.button-arrow--mute.button-arrow--large:not(:disabled):is(:hover, [data-preview-state="hover"])::before {opacity:1;background-image:url("../assets/Home/v2/button-arrow-state-6.svg");}
.btn--loud:not(:disabled):is(:active, [data-preview-state="clic"]) {background:var(--interactive-primary-clic);color:var(--text-static-inverse);}
.button-arrow--loud:not(:disabled):is(:active, [data-preview-state="clic"]) {background:var(--interactive-primary-clic);color:var(--text-static-inverse);}
.btn--mute:not(:disabled):is(:active, [data-preview-state="clic"]) {background:var(--interactive-secondary-clic);color:var(--interactive-primary-clic);}
.button-arrow--mute:not(:disabled):is(:active, [data-preview-state="clic"]) {background:var(--interactive-secondary-clic);color:var(--interactive-primary-clic);}
.contact-action:not(:disabled):is(:active, [data-preview-state="clic"]) {background:var(--interactive-secondary-clic);}
.btn-contact:not(:disabled):is(:active, [data-preview-state="clic"]) {background:var(--interactive-secondary-clic);}
.btn:not(:disabled):is(:active, [data-preview-state="clic"])::after {content:' →';opacity:1;margin:0;max-width:none;display:inline;}
.text-link:not(:disabled):is(:active, [data-preview-state="clic"])::after {content:' →';opacity:1;margin:0;max-width:none;display:inline;}
.btn-contact:not(:disabled):is(:active, [data-preview-state="clic"]) .btn-contact__label::after {content:' →';opacity:1;margin:0;max-width:none;display:inline;}
.contact-action:not(:disabled):is(:active, [data-preview-state="clic"]) span::after {content:' →';opacity:1;margin:0;max-width:none;display:inline;}
.text-link:not(:disabled):is(:active, [data-preview-state="clic"]) {color:var(--text-secondary);}
.button-arrow--loud.button-arrow--small:not(:disabled):is(:active, [data-preview-state="clic"])::before {opacity:1;background-image:url("../assets/Home/v2/button-arrow-state-5.svg");}
.button-arrow--loud.button-arrow--large:not(:disabled):is(:active, [data-preview-state="clic"])::before {opacity:1;background-image:url("../assets/Home/v2/button-arrow-state-4.svg");}
.button-arrow--mute.button-arrow--small:not(:disabled):is(:active, [data-preview-state="clic"])::before {opacity:1;background-image:url("../assets/Home/v2/button-arrow-state-9.svg");}
.button-arrow--mute.button-arrow--large:not(:disabled):is(:active, [data-preview-state="clic"])::before {opacity:1;background-image:url("../assets/Home/v2/button-arrow-state-8.svg");}
/* Unavailable carousel directions retain the idle icon and never enter hover/clic. */
.btn:disabled, .button-arrow:disabled {cursor:default;pointer-events:none;opacity:.4;}
.btn:disabled::after {content:none;}
.language-toggle { position:relative; display:flex; width:122px; height:33px; padding:0; gap:0; border:1px solid var(--surface-inverse); border-radius:var(--radius-s); background:var(--surface-inverse); isolation:isolate; overflow:hidden; }
.language-toggle::before { content:''; position:absolute; inset:0 auto 0 0; width:60px; border-radius:var(--radius-s); background:var(--surface-main); transform:translateX(0); transition:transform 300ms var(--easing-onscreen); z-index:0; }
.language-toggle[data-active-language='es']::before { transform:translateX(60px); }
.language-toggle__option { display:flex; align-items:center; justify-content:center; flex:0 0 60px; width:60px; height:31px; padding:0; border:0; border-radius:0; background:transparent!important; z-index:1; cursor:pointer; font-size:0; }
.language-toggle__option img { max-width:none; }
.language-toggle__option[data-language='en'] img { width:34px; height:25px; }
.language-toggle__option[data-language='es'] img { width:60px; height:auto; }
.language-toggle__active-labels { display:none; }
@media (prefers-reduced-motion:reduce) {html {scroll-behavior:auto;} .language-toggle::before, .btn, .button-arrow, .btn-contact, .contact-action {transition:none;}}

.contact-action picture {display:block;flex-shrink:0;line-height:0;}
.btn-contact:not(.btn-contact--small):is(:hover,[data-preview-state="hover"]) {width:220px;}
.btn-contact:not(.btn-contact--small):is(:active,[data-preview-state="clic"]) {width:209px;}
