/* Shared SPA Studio dimensions. DESIGN_VARIANCE 3 / MOTION_INTENSITY 1 / VISUAL_DENSITY 5.
   Preserve the established sections and native commerce forms; unify width and readable scale. */
body.spa-phase2 { --spa-layout-width:1600px; --spa-layout-gutter:15px; --spa-layout-inner:calc(var(--spa-layout-width) - 2 * var(--spa-layout-gutter)); }
body.spa-phase2 .content-page.container,
body.spa-phase2 .page-wrapper>.container,
body.spa-phase2 .page-heading>.container,
body.spa-phase2 .footer>.container,
body.spa-phase2 .header-top .et-row-container,
body.spa-phase2 .header-main .et-row-container { box-sizing:border-box; width:100%; max-width:var(--spa-layout-width); margin-left:auto; margin-right:auto; padding-left:var(--spa-layout-gutter); padding-right:var(--spa-layout-gutter); }
body.spa-phase2 .content-page { font-family:Arial,Helvetica,sans-serif; font-size:16px; line-height:1.65; }

/* Full-width backgrounds retain their stretch; their content aligns with the common frame. */
body.spa-phase2 .content-page .elementor-top-section>.elementor-container { max-width:var(--spa-layout-inner); }
body.spa-phase2 .elementor-top-section.spa-home { padding-left:var(--spa-layout-gutter)!important; padding-right:var(--spa-layout-gutter)!important; }
body.spa-phase2 .elementor-top-section.spa-home>.elementor-container { max-width:var(--spa-layout-inner)!important; }
body.spa-phase2 .content-page .e-con.e-con-boxed { --container-max-width:var(--spa-layout-inner); }

/* Header uses the same frame on every page, including search and commerce screens. */
body.spa-phase2 .header-wrapper .spa-topbar { font-size:13px; min-height:34px; }
body.spa-phase2 .header-wrapper .header-main,
body.spa-phase2 .header-wrapper .header-main .et-wrap-columns { min-height:84px; }
body.spa-phase2 .header-wrapper .header-main .et_b_header-logo.et_element-top-level img { width:220px!important; }
body.spa-phase2 .header-wrapper .header-main-menu .menu>li { margin:0 10px!important; }
body.spa-phase2 .header-wrapper .header-main-menu .menu>li>a {
 font-size:16px!important; font-weight:600; position:relative; padding:22px 0;
}
body.spa-phase2 .header-wrapper .header-main-menu .menu>li>a::after {
 content:''; position:absolute; left:0; right:0; bottom:11px; height:2px; border-radius:2px;
 background:var(--spa-pool-blue); transform:scaleX(0); transform-origin:center; transition:transform .16s ease;
}
body.spa-phase2 .header-wrapper .header-main-menu .menu>li:hover>a,
body.spa-phase2 .header-wrapper .header-main-menu .menu>li>a:focus-visible,
body.spa-phase2 .header-wrapper .header-main-menu .menu>li.spa-menu-current>a,
body.spa-phase2 .header-wrapper .header-main-menu .menu>li.current-menu-item>a { color:var(--spa-pool-blue)!important; }
body.spa-phase2 .header-wrapper .header-main-menu .menu>li:hover>a::after,
body.spa-phase2 .header-wrapper .header-main-menu .menu>li>a:focus-visible::after,
body.spa-phase2 .header-wrapper .header-main-menu .menu>li.spa-menu-current>a::after,
body.spa-phase2 .header-wrapper .header-main-menu .menu>li.current-menu-item>a::after { transform:scaleX(1); }
body.spa-phase2 .mobile-menu-content .menu>li>a { font-size:17px!important; font-weight:600; min-height:48px; }
body.spa-phase2 .mobile-menu-content .menu>li.spa-menu-current>a,
body.spa-phase2 .mobile-menu-content .menu>li.current-menu-item>a { color:var(--spa-pool-blue); box-shadow:inset 3px 0 var(--spa-pool-blue); }
@media(prefers-reduced-motion:reduce) { body.spa-phase2 .header-wrapper .header-main-menu .menu>li>a::after { transition:none; } }
body.spa-phase2 .header-wrapper .header-main-menu .nav-sublist-dropdown a { font-size:14px!important; }
/* Reuse XStore's dropdown and native opening behaviour with a clearer category panel. */
body.spa-phase2 .header-wrapper .header-main-menu .nav-sublist-dropdown {
 width:360px; max-width:calc(100vw - 48px); padding:8px!important;
 background:#fff; border:1px solid #dce7ec!important; border-top:3px solid var(--spa-pool-blue)!important; border-radius:0 0 6px 6px;
 box-shadow:0 12px 28px rgba(0,68,87,.12);
}
body.spa-phase2 .header-wrapper .header-main-menu .menu>li:hover>.nav-sublist-dropdown,
body.spa-phase2 .header-wrapper .header-main-menu .menu>li:focus-within>.nav-sublist-dropdown { pointer-events:auto; z-index:1001; }
body.spa-phase2 .header-wrapper .header-main-menu .nav-sublist-dropdown>.container { width:100%; max-width:none; padding:0 8px!important; margin:0; }
body.spa-phase2 .header-wrapper .header-main-menu .nav-sublist-dropdown ul { list-style:none; width:100%; padding:0; margin:0; }
body.spa-phase2 .header-wrapper .header-main-menu .nav-sublist-dropdown li { width:100%; padding:0; margin:0; float:none; }
body.spa-phase2 .header-wrapper .header-main-menu .nav-sublist-dropdown li>a {
 display:block; box-sizing:border-box; width:100%; min-height:46px; padding:11px 14px;
 border-left:3px solid transparent; border-radius:3px; white-space:normal; text-align:left;
 color:var(--spa-ocean-blue)!important; font:500 15px/1.5 Arial,Helvetica,sans-serif!important;
}
body.spa-phase2 .header-wrapper .header-main-menu .nav-sublist-dropdown li+li { border-top:1px solid #eef2f4; }
body.spa-phase2 .header-wrapper .header-main-menu .nav-sublist-dropdown li>a:hover,
body.spa-phase2 .header-wrapper .header-main-menu .nav-sublist-dropdown li>a:focus-visible,
body.spa-phase2 .header-wrapper .header-main-menu .nav-sublist-dropdown li.current-menu-item>a {
 background:#e7f2f6; color:var(--spa-ocean-blue)!important; font-weight:600!important; opacity:1!important; border-left-color:var(--spa-pool-blue);
}
body.spa-phase2 .header-wrapper .header-main-menu .nav-sublist-dropdown li>a:focus-visible { outline:2px solid var(--spa-pool-blue); outline-offset:-2px; }
body.spa-phase2 .mobile-menu-content .nav-sublist-dropdown { background:#f4f8fa; border-left:2px solid #c7dce5; margin-left:12px; }
body.spa-phase2 .mobile-menu-content .nav-sublist-dropdown li>a { font:400 15px/1.5 Arial,Helvetica,sans-serif!important; min-height:46px; padding-top:12px; padding-bottom:12px; white-space:normal; }
body.spa-phase2 .mobile-menu-content .nav-sublist-dropdown li>a:hover,
body.spa-phase2 .mobile-menu-content .nav-sublist-dropdown li>a:focus-visible { color:var(--spa-ocean-blue)!important; background:#e7f2f6; font-weight:600!important; opacity:1!important; }
body.spa-phase2 .header-wrapper .et_b_header-search { width:320px; }
body.spa-phase2 .header-wrapper .et_b_header-search .input-row { min-height:44px; height:44px; }
body.spa-phase2 .header-wrapper .et_b_header-search input.form-control { height:42px; font-size:14px; }
body.spa-phase2 .header-wrapper .et_b_header-search .search-button { height:42px; }

/* Reuse the existing homepage footer appearance consistently; retain every block and link. */
body.spa-phase2 .footer,body.spa-phase2 .footer a,body.spa-phase2 .footer p { font-family:Arial,Helvetica,sans-serif; }
body.spa-phase2 .footer .xwp_socials { padding:32px 0!important; }
body.spa-phase2 .footer .xwp_socials>.elementor-container { box-sizing:border-box; width:100%; max-width:var(--spa-layout-width); padding:0 var(--spa-layout-gutter); }
body.spa-phase2 .footer .xwp_socials.elementor-section h2.elementor-heading-title { font-family:Arial,Helvetica,sans-serif!important; font-size:22px!important; font-weight:500; line-height:1.35; color:var(--spa-navy)!important; }
body.spa-phase2 .footer .xwp_socials .elementor-widget-wrap { padding:0!important; }
body.spa-phase2 .footer .xwp_socials .elementor-social-icon { font-size:25px; }

/* Homepage typography grows with the recovered desktop width. */
body.spa-phase2 .spa-hero,body.spa-phase2 .spa-hero>.elementor-container { min-height:320px; }
body.spa-phase2 .spa-hero .elementor-heading-title { font-size:50px!important; }
body.spa-phase2 .spa-hero .elementor-widget-text-editor { font-size:17px; }
body.spa-phase2 .spa-home .elementor-button,body.spa-phase2 .spa-home .spa-guide-button { font-size:14px!important; }
/* Main shopping categories have more visual weight than the compact benefits below. */
body.spa-phase2 .spa-categories-title { padding-top:28px!important; padding-bottom:20px!important; }
body.spa-phase2 .spa-categories-title .elementor-heading-title { font-size:30px!important; }
body.spa-phase2 .spa-category .elementor-image-box-title { font-size:16px!important; }
body.spa-phase2 .spa-category .elementor-image-box-wrapper { height:200px; }
body.spa-phase2 .spa-category .elementor-image-box-content { align-items:flex-end; padding:20px; }
body.spa-phase2 .spa-category .elementor-image-box-title::before { left:20px; top:20px; width:48px; height:48px; }
body.spa-phase2 .spa-category .elementor-image-box-title::after { left:31px; top:31px; width:26px; height:26px; }
body.spa-phase2 .spa-category .elementor-image-box-wrapper:focus-within { outline:2px solid var(--spa-pool-blue); outline-offset:3px; }
body.spa-phase2 .spa-benefit h3 { font-size:15px!important; }
body.spa-phase2 .spa-benefit p { font-size:14px; }
body.spa-phase2 .spa-guide h2 { font-size:17px!important; }
body.spa-phase2 .spa-guide p { font-size:14px; }
body.spa-phase2 .spa-home-products .spa-section-heading .elementor-heading-title { font-size:30px!important; }
body.spa-phase2 .spa-home-products .woocommerce-product-details__short-description { font-size:14px; }
body.spa-phase2 .spa-home-products .etheme-product-grid-button,body.spa-phase2 .spa-home-products .etheme-product-grid-content>.button { font-size:14px!important; }
body.spa-phase2 .spa-featured-products .spa-featured-grid { max-width:1040px; }
body.spa-phase2 .spa-shop-copy,body.spa-phase2 .spa-shop-logo .elementor-image-box-description { font-size:16px; }

/* Archive cards use the approved 3/2/1 grid and retain Phase 3B variation behaviour. */
body.spa-phase2.spa-archive .spa-archive-heading h1 { font-size:32px; }
body.spa-phase2.spa-archive .woocommerce-breadcrumb,
body.spa-phase2.spa-archive .spa-result-count,
body.spa-phase2.spa-archive .spa-ordering-label { font-size:13px; }
body.spa-phase2.spa-archive .woocommerce-ordering select { font-size:14px; height:44px; width:200px; }
body.spa-phase2.spa-archive .spa-archive-sidebar .widget-title,
body.spa-phase2.spa-archive .spa-archive-sidebar .product-categories li,
body.spa-phase2.spa-archive .spa-archive-sidebar .product-categories li a { font-size:13px!important; }
body.spa-phase2.spa-archive .spa-archive-sidebar .product-categories .count { font-size:12px; }
body.spa-phase2.spa-archive .main-products-loop .product-title { font-size:18px!important; min-height:50px; }
body.spa-phase2.spa-archive .spa-card-dimension,
body.spa-phase2.spa-archive .spa-card-options label,
body.spa-phase2.spa-archive .spa-card-stock { font-size:13px; }
body.spa-phase2.spa-archive .spa-card-options select { font-size:14px; min-height:44px; height:44px; }
body.spa-phase2.spa-archive .main-products-loop .spa-card-button { font-size:14px!important; min-height:48px; }
body.spa-phase2.spa-archive .spa-variation-reset,
body.spa-phase2.spa-archive .spa-card-message,
body.spa-phase2.spa-archive .spa-card-fallback { font-size:12px; }

/* Existing editorial and information pages share readable text without replacing their forms. */
body.spa-phase2:not(.spa-archive):not(.spa-single-product) .content-page .elementor-widget-text-editor { font-size:16px; line-height:1.7; }
body.spa-phase2 .page-heading h1 { font-family:Georgia,'Times New Roman',serif; font-size:40px; text-transform:none; }

@media(min-width:993px) and (max-width:1199px) {
 body.spa-phase2 .header-wrapper .header-main .et_b_header-logo.et_element-top-level img { width:180px!important; }
 body.spa-phase2 .header-wrapper .header-main-menu .menu>li { margin:0 7px!important; }
 body.spa-phase2 .header-wrapper .header-main-menu .menu>li>a { font-size:15px!important; }
 body.spa-phase2 .header-wrapper .et_b_header-search { width:220px; }
}
@media(max-width:1023px) {
 body.spa-phase2 { --spa-layout-gutter:24px; }
 body.spa-phase2 .spa-hero .elementor-heading-title { font-size:40px!important; }
 body.spa-phase2 .spa-category .elementor-image-box-title { font-size:16px!important; }
 body.spa-phase2 .spa-category .elementor-image-box-wrapper { height:180px; }
 body.spa-phase2 .spa-category .elementor-image-box-content { padding:18px; }
 body.spa-phase2 .spa-category .elementor-image-box-title::before { left:18px; top:18px; width:44px; height:44px; }
 body.spa-phase2 .spa-category .elementor-image-box-title::after { left:28px; top:28px; width:24px; height:24px; }
 body.spa-phase2 .spa-benefit h3 { font-size:13px!important; }
 body.spa-phase2 .spa-benefit p { font-size:12px; }
 body.spa-phase2.spa-archive .spa-archive-heading h1 { font-size:28px; }
 body.spa-phase2 .page-heading h1 { font-size:32px; }
}
@media(max-width:650px) {
 body.spa-phase2 { --spa-layout-gutter:16px; }
 body.spa-phase2 .mobile-header-wrapper .header-main .et-row-container { padding-left:12px; padding-right:12px; }
 body.spa-phase2 .content-page { font-size:15px; }
 body.spa-phase2 .spa-hero,body.spa-phase2 .spa-hero>.elementor-container { min-height:280px; }
 body.spa-phase2 .spa-hero .elementor-heading-title { font-size:34px!important; }
 body.spa-phase2 .spa-hero .elementor-widget-text-editor { font-size:13px; }
 body.spa-phase2 .spa-home .elementor-button,body.spa-phase2 .spa-home .spa-guide-button { font-size:12px!important; }
 body.spa-phase2 .spa-categories-title { padding-top:22px!important; padding-bottom:18px!important; }
 body.spa-phase2 .spa-categories-title .elementor-heading-title { font-size:24px!important; font-family:Georgia,'Times New Roman',serif!important; }
 body.spa-phase2 .spa-categories>.elementor-container { gap:12px; }
 body.spa-phase2 .spa-category .elementor-image-box-title { font-size:13px!important; }
 body.spa-phase2 .spa-category .elementor-image-box-wrapper { height:152px; }
 body.spa-phase2 .spa-category .elementor-image-box-content { padding:14px; }
 body.spa-phase2 .spa-category .elementor-image-box-title::before { left:14px; top:14px; width:36px; height:36px; }
 body.spa-phase2 .spa-category .elementor-image-box-title::after { left:22px; top:22px; width:20px; height:20px; }
 body.spa-phase2 .spa-benefit h3 { font-size:10px!important; }
 body.spa-phase2 .spa-benefit p { font-size:10px; }
 body.spa-phase2 .spa-guide h2 { font-size:12px!important; }
 body.spa-phase2 .spa-guide p { font-size:11px; }
 body.spa-phase2 .spa-home .spa-guide-button { font-size:10px!important; }
 body.spa-phase2 .spa-home-products .spa-section-heading .elementor-heading-title { font-size:26px!important; }
 body.spa-phase2 .spa-home-products .etheme-product-grid-button,body.spa-phase2 .spa-home-products .etheme-product-grid-content>.button { font-size:12px!important; }
 body.spa-phase2.spa-archive .spa-archive-heading h1 { font-size:27px; }
 body.spa-phase2.spa-archive .woocommerce-breadcrumb { font-size:11px; }
 body.spa-phase2.spa-archive .woocommerce-ordering select { width:174px; }
 body.spa-phase2.spa-archive .main-products-loop .product-title { min-height:0; }
 body.spa-phase2 .page-heading h1 { font-size:28px; }
}
