/* Controles y superficies compartidos. */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:54px;max-width:100%;padding:14px 24px;border-radius:var(--radius-full);font-family:var(--font-body);font-weight:var(--fw-semibold);font-size:var(--fs-base);line-height:1.4;text-align:center;transition:background var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}
.btn:hover{transform:translateY(-2px)}.btn--primary{background:var(--color-white);color:var(--color-navy)}.btn--brand{background:var(--color-navy);color:var(--color-white)}.btn--brand:hover{background:var(--color-blue)}.btn--accent{background:var(--color-action);color:var(--color-white)}.btn--accent:hover{background:var(--color-accent-text);box-shadow:var(--shadow-sm)}
.btn--outline{border:1px solid var(--color-border);color:var(--color-navy);background:transparent}.btn--outline:hover{background:var(--color-bg-alt)}
.btn--light-outline{border:1px solid var(--color-dark-line);color:var(--color-white)}
.icon{width:1.3em;height:1.3em;flex-shrink:0;stroke:currentColor}
.card{background:var(--color-surface);padding:32px;border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:0}
.card__icon{display:flex;align-items:center;justify-content:center;width:46px;height:46px;margin-bottom:24px;color:var(--color-blue)}.card__icon .icon{width:29px;height:29px}.card h3{font-size:1.25rem;margin-bottom:13px;letter-spacing:-.03em}.card p{font-size:var(--fs-base)}
.badge{display:inline-flex;align-items:center;font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.13em;text-transform:uppercase;color:var(--color-blue);line-height:1.5}
.carousel{position:relative;overflow:hidden;border-radius:var(--radius-md);aspect-ratio:4/3;background:var(--color-navy)}
.carousel__track{display:flex;height:100%;transition:transform var(--transition-base)}.carousel__slide{flex:0 0 100%;height:100%;min-width:0}.carousel__slide img{width:100%;height:100%;object-fit:contain}
.carousel__controls{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px}
.carousel__btn,.carousel__pause{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;background:var(--color-white);color:var(--color-navy);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:.875rem;transition:background var(--transition-fast)}
.carousel__btn:hover,.carousel__pause:hover{background:var(--color-bg-alt)}.carousel__pause{padding-inline:14px}.carousel__btn--prev,.carousel__btn--next{position:absolute;bottom:16px;z-index:2;background:var(--color-veil);color:var(--color-white);border-color:var(--color-dark-line)}.carousel__btn--prev{right:68px}.carousel__btn--next{right:16px}
.carousel__dots{display:flex;gap:0;align-items:center}.carousel__dot{width:32px;height:44px;display:grid;place-items:center}.carousel__dot::before{content:"";width:7px;height:7px;background:var(--color-border);border-radius:50%}.carousel__dot.is-active::before{background:var(--color-red);width:18px;border-radius:10px}
.carousel__position{position:absolute;left:18px;bottom:18px;background:var(--color-veil);color:var(--color-white);padding:6px 12px;border-radius:var(--radius-sm);font-size:.875rem}
.whatsapp-fab{position:fixed;right:24px;bottom:max(22px,env(safe-area-inset-bottom));z-index:90;display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--color-action);color:var(--color-white);box-shadow:var(--shadow-md);transition:transform var(--transition-fast)}.whatsapp-fab .icon{width:28px;height:28px}.whatsapp-fab:hover{transform:translateY(-3px)}
.lightbox-gallery img{cursor:zoom-in}.lightbox-gallery img:focus-visible{outline-offset:-5px}
.lightbox{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:24px;border:0;background:var(--color-deep);color:var(--color-white);overflow:hidden}.lightbox:not([open]){display:none}.lightbox[open]{display:flex;align-items:center;justify-content:center}.lightbox::backdrop{background:var(--color-deep)}
.lightbox__figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:18px;max-width:100%}.lightbox__img{max-width:min(86vw,1240px);max-height:calc(100dvh - 160px);width:auto;height:auto;object-fit:contain}.lightbox__caption{text-align:center;color:var(--color-on-dark);max-width:min(760px,84vw);font-size:.875rem;line-height:1.5}.lightbox__counter{position:fixed;top:24px;left:26px;color:var(--color-on-dark);font-size:.875rem}
.lightbox__nav,.lightbox__close{position:fixed;width:48px;height:48px;display:flex;align-items:center;justify-content:center;color:var(--color-white);border:1px solid var(--color-dark-line);border-radius:50%;background:var(--color-navy)}.lightbox__close{top:18px;right:20px}.lightbox__nav{top:50%;transform:translateY(-50%)}.lightbox__nav--prev{left:16px}.lightbox__nav--next{right:16px}.lightbox__nav[hidden]{display:none}.lightbox__nav:hover,.lightbox__close:hover{background:var(--color-blue)}
@media(max-width:600px){.btn{padding-inline:20px}.card{padding:25px}.whatsapp-fab{width:52px;height:52px;right:16px;bottom:max(16px,env(safe-area-inset-bottom))}.lightbox{padding:16px}.lightbox__img{max-width:100%;max-height:calc(100dvh - 200px)}.lightbox__nav{top:auto;bottom:24px;transform:none}.lightbox__nav--prev{left:calc(50% - 62px)}.lightbox__nav--next{right:calc(50% - 62px)}.lightbox__caption{max-width:90vw}}
