/* Presentation rules remain in local reference CSS; these replace plugin JS. */
/* The legacy scroll animation script was removed; its content must stay readable. */
.elementor .slide-up{opacity:1;animation:none}
.replica-element-link{position:absolute;inset:0;z-index:1}
.replica-element-link:focus-visible{outline:2px solid #1769aa;outline-offset:3px}
.premium-carousel-wrapper.replica-carousel{visibility:visible!important;opacity:1!important;position:relative;overflow:hidden}
.replica-carousel-viewport{overflow:hidden;touch-action:pan-y pinch-zoom}
.replica-carousel-viewport>.premium-carousel-inner{display:flex!important;align-items:stretch;overflow:visible!important;touch-action:pan-y pinch-zoom;backface-visibility:hidden}
.replica-carousel-viewport>.premium-carousel-inner>.premium-carousel-template{flex:0 0 100%;width:100%;min-width:0;float:none;display:block;visibility:visible;position:relative}
.replica-carousel>.premium-carousel-nav-dot{display:none}
.replica-carousel{touch-action:pan-y pinch-zoom;cursor:grab}
.replica-carousel.replica-carousel-single{cursor:auto}
.replica-carousel-single>.replica-dots{display:none!important}
.replica-carousel.replica-carousel-dragging{cursor:grabbing;user-select:none;-webkit-user-select:none}
.replica-carousel a[href],.replica-carousel .elementor-button{cursor:pointer}
.replica-carousel .elementor-button{transition-property:color,background-color,border-color,box-shadow}
.replica-carousel img{-webkit-user-drag:none;user-select:none}
.replica-carousel .replica-dots{position:absolute;left:0;right:0;bottom:14px;display:flex!important;justify-content:center;list-style:none;padding:0;margin:0;z-index:3;gap:6px;pointer-events:none}
.replica-dots li{display:block;width:16px!important;height:20px;margin:0!important;position:relative}
.replica-dots li button{font-size:0;line-height:0;width:20px;height:20px;padding:0;border:0;background:none!important;color:transparent;cursor:pointer;pointer-events:auto}
.replica-dots li button:before{content:'';position:absolute;top:6px;left:6px;width:8px;height:8px;border-radius:50%;background:#ececec;opacity:1}
.replica-dots li.slick-active button:before{background:#ff6534}
.elementor-nav-menu--main .menu-item-has-children{position:relative}
.elementor-nav-menu--main .menu-item-has-children>.sub-menu{display:none;position:absolute;top:100%;left:0;z-index:20;min-width:10em;width:max-content;max-width:calc(100vw - 32px);transform:translateX(var(--replica-menu-offset,0px))}
.elementor-nav-menu--main .replica-submenu-open>.sub-menu{display:block}
.elementor-nav-menu--main .sub-arrow{padding-left:10px;display:inline-flex;align-items:center}
@media(min-width:1025px){.elementor-nav-menu--main .menu-item-has-children>.sub-menu::before{content:'';position:absolute;left:0;right:0;bottom:100%;height:var(--replica-menu-gap,32px);background:transparent;pointer-events:auto}}
.elementor-nav-menu--dropdown.replica-menu-open{display:block!important;max-height:calc(100vh - 60px);overflow:auto;transform:scaleY(1)!important;visibility:visible!important}
.elementor-nav-menu--dropdown .menu-item-has-children>.sub-menu{display:none}
.elementor-nav-menu--dropdown .replica-submenu-open>.sub-menu{display:block}
.elementor-menu-toggle{cursor:pointer}
.replica-video{padding:0;border:0;width:min(960px,90vw);aspect-ratio:16/9;overflow:visible;background:#000}
.replica-video::backdrop{background:#000c}
.replica-video iframe{border:0;width:100%;height:100%;display:block}
.replica-tutorial-video{aspect-ratio:16/9}
.replica-video-close{position:absolute;right:0;top:-42px;background:none;border:0;color:#fff;font-size:32px;padding:0;cursor:pointer}
@media(max-width:767px){.replica-carousel .replica-dots{bottom:8px}}
.replica-carousel .replica-dots{gap:10px}
.replica-swiper>.swiper-wrapper>.swiper-slide{width:100%;flex-shrink:0}
.replica-swiper .swiper-pagination-bullet{padding:0;border:0}
.replica-swiper>.swiper-pagination:not([hidden]){position:relative;bottom:auto!important;display:flex;align-items:center;justify-content:center;gap:10px;left:0;width:100%;margin-top:16px}
.replica-swiper>.swiper-pagination .swiper-pagination-bullet{flex:0 0 auto;margin:0!important;cursor:pointer}
.replica-swiper .swiper-pagination-bullet:not(.swiper-pagination-bullet-active){background-color:#b8c0cc!important;opacity:1}
.replica-swiper>.swiper-pagination[hidden],[hidden].elementor-swiper-button-prev,[hidden].elementor-swiper-button-next{display:none!important}
.elementor .replica-faq-more{width:auto!important;max-width:100%!important}
.elementor .replica-faq-link{display:inline-flex;align-items:center;gap:12px;color:inherit;text-decoration:none}
.elementor .replica-faq-link img{width:24px!important;height:24px;flex:none;object-fit:contain}
.replica-faq-link:hover{text-decoration:underline}
.replica-faq-link:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.replica-chat{position:fixed;right:8px;bottom:8px;width:60px;height:60px;border-radius:50%;background:#005de0;box-shadow:0 2px 6px #0003;display:grid;place-items:center;z-index:9999}
.replica-chat svg{width:32px;height:32px}
.elementor-location-header .elementor-element-83e1810>.elementor-widget-wrap{flex-wrap:nowrap;align-items:center}
.language-switcher>.elementor-item>svg{width:1em;height:1em;margin-right:6px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.6}
.language-switcher>.sub-menu{white-space:nowrap}
@media(min-width:1025px){.elementor-location-header .elementor-element-67f637b{width:35%}.elementor-location-header .elementor-element-83e1810{width:65%}}
.article-language-notice{background:#eff6ff;border-bottom:1px solid #d9e7fb;color:#19334c;padding:12px 20px;font-size:15px;line-height:1.6}
.article-language-notice p{max-width:1200px;margin:0 auto}
.article-language-notice a{color:#005de0;text-decoration:underline}
html[lang^=ja] body{font-family:Roboto,'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif}
html[lang^=ko] body{font-family:Roboto,'Apple SD Gothic Neo','Malgun Gothic',sans-serif}
html:not([lang^=en]) .elementor-slide-heading,html:not([lang^=en]) .elementor-heading-title{overflow-wrap:break-word;hyphens:auto}
html:not([lang^=en]) .replica-carousel .premium-carousel-template>.elementor>.elementor-section-wrap>.elementor-top-section{height:auto!important}
@media(max-width:767px){.elementor table{display:block;max-width:100%;overflow-x:auto}.elementor td,.elementor th{overflow-wrap:anywhere}}
@media(max-width:767px){.elementor-pagination{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.elementor-pagination .page-numbers{margin:0!important}}

/* Keep translated countdown labels centered even when they wrap. */
.replica-countdown-row > .elementor-column > .elementor-widget-wrap {
  align-content: center !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}
.replica-countdown-row .elementor-heading-title { text-align: center !important; }
.replica-countdown-cell > .elementor-widget { width: 100% !important; margin-inline: 0 !important; }
.replica-countdown-cell .elementor-heading-title { overflow-wrap: normal; word-break: normal; }

/* Preserve English CTA sizing across shorter translations and separate the alternate OS. */
.elementor .replica-primary-download,
.elementor .replica-primary-download .elementor-button { min-width: min(200px, calc(100vw - 40px)); }
.elementor .replica-primary-purchase .elementor-button { min-width: min(204px, calc(100vw - 40px)); }
.elementor .replica-secondary-download { width: 100% !important; flex-basis: 100% !important; }
.elementor .replica-localized-decoration { display: none !important; }

/* Android trust copy must start below both downloads, regardless of translation length. */
.elementor .replica-android-trust,
.elementor .replica-android-stars { width: 100% !important; flex-basis: 100% !important; }
.elementor .replica-android-trust > .elementor-widget-container { margin: 16px 0 0 !important; }
.elementor .replica-android-stars { text-align: left !important; }
.elementor .replica-android-stars > .elementor-widget-container { margin: 8px 0 0 !important; }
.elementor .replica-mirrorsync-actions { display:flex; flex-wrap:wrap; align-items:flex-start; gap:16px 22px; width:100%; }
.elementor .replica-mirrorsync-actions > .elementor-widget { width:auto !important; flex:0 0 auto; max-width:100%; }
.elementor .replica-mirrorsync-actions > .elementor-widget > .elementor-widget-container { margin:0 !important; }
@media(min-width:1025px){.elementor .elementor-widget-wrap:has(> .replica-mirrorsync-actions){padding-right:0 !important;}}
