/* 響應式 Mixins */
@media (min-width: 1400px) { .container-2xl { --slide-width: var(--carousel-slide-width-2xl); --slide-height: var(--carousel-slide-height-2xl); } }
@media (max-width: 1399px) { .container-xl { --slide-width: var(--carousel-slide-width-xl); --slide-height: var(--carousel-slide-height-xl); } }
@media (max-width: 1279px) { .container-lg { --slide-width: var(--carousel-slide-width-lg); --slide-height: var(--carousel-slide-height-lg); } }
@media (max-width: 1023px) { .container-md { --slide-width: var(--carousel-slide-width-md); --slide-height: var(--carousel-slide-height-md); } }
@media (max-width: 767px) { .container-sm { --slide-width: var(--carousel-slide-width-sm); --slide-height: var(--carousel-slide-height-sm); } }
@media (max-width: 639px) { .container-xs { --slide-width: var(--carousel-slide-width-xs); --slide-height: var(--carousel-slide-height-xs); } }

/* 通用響應式工具 */
.touch-target { min-width: 44px; min-height: 44px; }
.safe-area-inset { padding-left: env(safe-area-inset-left); padding-right: env(safe-area-inset-right); }
