/* ============================================================
   iPhix frontend design system
   Light premium theme · blue→cyan gradients · glass cards
   Fonts: Space Grotesk (display) + Inter (body)
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Inter:wght@400;500;600&display=swap');

:root {
    --accent: #2563EB;
    --accent2: #22D3EE;
    --ink: #0B1220;
    --ink-soft: #3D4A5C;
    --muted: #64748B;
    --bg: #FFFFFF;
    --bg-alt: #F6F8FB;
    --border: #E2E8F0;
    --navy: #0A1633;
    --navy-2: #0E1D42;
    --grad: linear-gradient(135deg, #2563EB 0%, #22D3EE 100%);
    --shadow-card: 0 20px 44px -18px rgba(30, 58, 138, .14), 0 2px 8px rgba(11, 18, 32, .04);
    --shadow-card-hover: 0 28px 58px -20px rgba(37, 99, 235, .24), 0 8px 18px rgba(11, 18, 32, .06);
    --radius: 24px;
    --radius-sm: 14px;
    --site-max: 1420px;
}

/* ---------- base ---------- */
body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    color: var(--ink);
    background: var(--bg-alt);
    padding-top: 0 !important;
    -webkit-font-smoothing: antialiased;
    line-height: 1.6;
}
h1, h2, h3, h4, h5, .iphix-display {
    font-family: 'Space Grotesk', 'Inter', sans-serif;
    font-weight: 700;
    line-height: 1.15;
    color: var(--ink);
    letter-spacing: -0.02em;
}
img { max-width: 100%; height: auto; }
a { color: var(--accent); text-decoration: none; }
a:hover { color: #1D4FD7; }
.iphix-icon { width: 1em; height: 1em; flex: none; }

/* hide theme chrome — header/footer are rendered by the MU plugin on classic and block templates */
.site-header, .site-footer, .page-header, .hello-elementor-header, .hello-elementor-footer,
.wp-site-blocks > header.wp-block-template-part, .wp-site-blocks > footer.wp-block-template-part { display: none !important; }
body.single-post #page > #header,
body.single-post #page > #footer,
body.single-post #page > hr { display: none !important; }

.iphix-wrap { width: 100%; max-width: var(--site-max); box-sizing: border-box; margin: 0 auto; padding: 0 24px; }
.elementor .iphix-section {
    /* Programmatic Elementor pages do not get a generated per-page `--display`
       rule. Elementor then falls back to `inline`, so vertical padding does not
       participate in document flow and adjacent sections visually collapse. */
    --display: flex;
    --flex-direction: column;
    display: flex !important;
    flex-direction: column !important;
    padding: 88px 0 !important;
    background: var(--bg);
}
/* Hostinger adds a second AOS layer to every Elementor container. It can leave
   below-the-fold parents at opacity:0 when a cache/minifier delays its runtime.
   iPhix owns motion inside each section, so keep the structural parent visible. */
.elementor .hostinger-elementor-aos {
    opacity: 1 !important;
    transform: none !important;
}
.elementor .iphix-stats-section { padding: 24px 0 32px !important; }
.iphix-section.alt { background: var(--bg-alt); }
.elementor .iphix-track-section { padding: 56px 0 28px !important; }
.iphix-eyebrow {
    display: inline-block; font-size: 13px; font-weight: 600; letter-spacing: .12em;
    text-transform: uppercase; color: var(--accent); margin-bottom: 14px;
}
.iphix-h2 { font-size: clamp(28px, 4vw, 42px); margin: 0 0 14px; }
.iphix-sub { color: var(--muted); font-size: 17px; max-width: 640px; margin: 0 0 44px; }
.iphix-center { text-align: center; }
.iphix-center .iphix-sub { margin-left: auto; margin-right: auto; }

/* ---------- buttons ---------- */
.btn-gradient {
    display: inline-flex; align-items: center; gap: 10px;
    background: var(--grad); color: #fff !important; font-weight: 600; font-size: 15px;
    padding: 15px 30px; border-radius: 999px; border: 0; cursor: pointer;
    box-shadow: 0 10px 24px rgba(37, 99, 235, .35);
    transition: transform .2s ease, box-shadow .2s ease;
}
.btn-gradient:hover { transform: translateY(-2px); box-shadow: 0 14px 32px rgba(37, 99, 235, .45); color: #fff; }
.btn-ghost {
    display: inline-flex; align-items: center; gap: 10px;
    background: #fff; color: var(--ink) !important; font-weight: 600; font-size: 15px;
    padding: 14px 28px; border-radius: 999px; border: 1.5px solid var(--border); cursor: pointer;
    transition: border-color .2s, transform .2s;
}
.btn-ghost:hover { border-color: var(--accent); color: var(--accent) !important; transform: translateY(-2px); }

/* ---------- glass cards ---------- */
.glass {
    background: rgba(255,255,255,.84); border: 1px solid rgba(226,232,240,.82); border-radius: var(--radius);
    -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px);
    box-shadow: var(--shadow-card); transition: transform .25s ease, box-shadow .25s ease;
}
.glass:hover { transform: translateY(-4px); box-shadow: var(--shadow-card-hover); }

/* ---------- header ---------- */
.iphix-topbar {
    position: sticky; top: 0; z-index: 920;
    background: #0B1220; color: #CBD5E1; font-size: 11px;
    padding: 0; overflow: hidden; isolation: isolate;
}
.iphix-topbar::before { content: ""; position: absolute; z-index: -1; inset: 0 auto 0 -70%; width: 220%; pointer-events: none; background: linear-gradient(100deg,transparent 26%,rgba(37,99,235,.25) 43%,rgba(34,211,238,.18) 50%,rgba(124,58,237,.18) 57%,transparent 74%); animation: iphix-topbar-tide 11s cubic-bezier(.45,0,.55,1) infinite alternate; }
.iphix-topbar::after { content: ""; position: absolute; right: 0; bottom: 0; left: 0; height: 1px; pointer-events: none; background: linear-gradient(90deg,transparent,rgba(96,165,250,.68),rgba(34,211,238,.8),transparent); opacity: .72; }
.iphix-topbar .iphix-wrap { position: relative; z-index: 1; display: flex; min-height: 36px; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap; }
.iphix-topbar .iphix-wrap > div, .iphix-topbar span { display: inline-flex; align-items: center; gap: 6px; }
.iphix-topbar .iphix-icon { color: var(--accent2); font-size: 12px; }
.iphix-topbar a { color: #DCE6FA; }
.iphix-topbar span + span::before { content: "·"; margin: 0 10px; opacity: .5; }

.iphix-header {
    position: sticky; top: 36px; z-index: 910;
    background: rgba(255, 255, 255, .88); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
    border-bottom: 1px solid var(--border);
}
.iphix-topbar .iphix-wrap { max-width: var(--site-max); }
.iphix-header .iphix-wrap { max-width: var(--site-max); }
.iphix-header .iphix-wrap { position: relative; display: flex; align-items: center; gap: 15px; height: 78px; }
.iphix-logo {
    display: inline-flex; flex: none; align-items: center; color: var(--ink) !important; line-height: 0;
}
.iphix-logo-image { display: block; width: 126px; height: auto; }
.iphix-logo .bolt {
    display: inline-flex; align-items: center; justify-content: center;
    width: 34px; height: 34px; border-radius: 10px; background: var(--grad);
    color: #fff; font-size: 19px; box-shadow: 0 6px 18px rgba(37, 99, 235, .45);
}
.iphix-logo em {
    font-style: normal; background: var(--grad);
    -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.iphix-nav { margin-left: auto; }
.iphix-nav-list { display: flex; align-items: center; }
.iphix-menu-item { position: static; display: flex; align-items: center; }
.iphix-nav-segment { position: relative; display: flex; align-items: center; }
.iphix-nav-list > * + *::before { content: ""; width: 1px; height: 20px; margin: 0 7px; background: #D9E1EC; }
.iphix-menu-control { display: inline-flex; min-height: 42px; align-items: center; border-radius: 10px; transition: background .2s ease, color .2s ease; }
.iphix-menu-main-link, .iphix-nav-direct {
    display: inline-flex; min-height: 42px; align-items: center; padding: 0 4px 0 10px;
    color: #1E293B; font: 750 12px 'Inter',sans-serif; letter-spacing: .055em; text-transform: uppercase;
}
.iphix-nav-direct { padding: 0 10px; border-radius: 10px; }
.iphix-menu-main-link:hover, .iphix-nav-direct:hover { color: var(--accent); }
.iphix-menu-item:hover .iphix-menu-control, .iphix-menu-item.is-open .iphix-menu-control, .iphix-nav-direct:hover { background: #EFF6FF; }
.iphix-menu-trigger {
    display: inline-flex; width: 32px; min-height: 42px; align-items: center; justify-content: center; padding: 0 6px 0 2px;
    border: 0; border-radius: 10px; background: transparent; color: #1E293B;
    cursor: pointer;
}
.iphix-menu-trigger .iphix-icon { width: 14px; height: 14px; transition: transform .2s ease; }
.iphix-menu-trigger:hover, .iphix-menu-trigger[aria-expanded="true"] { color: var(--accent); }
.iphix-menu-trigger[aria-expanded="true"] .iphix-icon { transform: rotate(180deg); }
.iphix-header .btn-gradient { padding: 11px 22px; font-size: 14px; }
.iphix-account-actions { display: flex; align-items: center; gap: 4px; }
.iphix-signin, .iphix-signup, .iphix-account-link {
    display: inline-flex; min-height: 40px; align-items: center; justify-content: center; border-radius: 999px;
    font-size: 13px; font-weight: 600; white-space: nowrap; transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}
.iphix-signin { padding: 0 11px; color: var(--ink-soft); }
.iphix-signin:hover { background: rgba(11,18,32,.05); color: var(--accent); }
.iphix-signup { padding: 0 15px; border: 1px solid #BFDBFE; background: rgba(255,255,255,.78); color: #1D4FD7; }
.iphix-signup:hover { border-color: #93C5FD; background: #EFF6FF; color: #1D4FD7; }
.iphix-account-link { gap: 8px; padding: 0 10px 0 4px; color: var(--ink); }
.iphix-account-link:hover { background: rgba(11,18,32,.05); color: var(--accent); }
.iphix-account-avatar {
    display: inline-flex; width: 32px; height: 32px; align-items: center; justify-content: center; border-radius: 50%;
    background: var(--grad); color: #fff; font-size: 12px; font-weight: 700; box-shadow: 0 6px 16px rgba(37,99,235,.25);
}
.iphix-cart { position: relative; display: inline-flex; padding: 10px; color: var(--ink-soft); }
.iphix-cart:hover { color: var(--accent); }
.iphix-cart .count {
    position: absolute; top: 2px; right: 0; min-width: 17px; height: 17px; border-radius: 999px;
    background: var(--grad); color: #fff; font-size: 10.5px; font-weight: 600;
    display: flex; align-items: center; justify-content: center; padding: 0 4px;
}
.iphix-burger { display: none; background: none; border: 0; padding: 10px; cursor: pointer; margin-left: auto; }
.iphix-burger span { display: block; width: 24px; height: 2px; background: var(--ink); margin: 5px 0; border-radius: 2px; transition: .25s; }
.iphix-mobile-actions { display: none; }

/* ---------- desktop mega navigation ---------- */
.iphix-mega[hidden] { display: none; }
.iphix-mega {
    position: absolute; top: 100%; right: 24px; left: 24px; z-index: 930;
    overflow: hidden; padding: 18px; border: 1px solid rgba(203,213,225,.9); border-radius: 0 0 24px 24px;
    background: #fff; box-shadow: 0 28px 72px -26px rgba(15,23,42,.34);
    animation: iphix-mega-in .18s cubic-bezier(.16,1,.3,1) both;
    -webkit-backdrop-filter: blur(22px); backdrop-filter: blur(22px);
}
@keyframes iphix-mega-in { from { opacity: 0; transform: translateY(-7px); } to { opacity: 1; transform: none; } }
.iphix-mega-head { display: flex; align-items: center; justify-content: space-between; padding: 0 4px 13px; border-bottom: 1px solid var(--border); }
.iphix-mega-head > span { color: var(--ink); font: 700 13px 'Space Grotesk',sans-serif; }
.iphix-mega-head > a { display: inline-flex; align-items: center; gap: 7px; color: var(--accent); font-size: 11.5px; font-weight: 700; }
.iphix-mega-head .iphix-icon { width: 14px; transition: transform .2s ease; }
.iphix-mega-head > a:hover .iphix-icon { transform: translateX(3px); }
.iphix-mega-grid { display: grid; gap: 18px; padding-top: 18px; }
.iphix-mega-grid.repair { grid-template-columns: minmax(0,1.55fr) minmax(210px,.72fr) minmax(240px,.73fr); }
.iphix-mega-grid.services, .iphix-mega-grid.about, .iphix-mega-grid.pricing { grid-template-columns: 1fr 1fr minmax(260px,.9fr); }
.iphix-mega-grid.shop { grid-template-columns: minmax(190px,.78fr) minmax(210px,.82fr) minmax(390px,1.4fr); }
.iphix-mega-label { display: block; margin-bottom: 8px; color: #64748B; font-size: 9.5px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.iphix-mega-device-zone, .iphix-mega-feature-stack, .iphix-mega-shop-rail { min-width: 0; }
.iphix-mega-devices { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.iphix-mega-devices > a { display: flex; min-width: 0; align-items: center; gap: 9px; padding: 8px; border: 1px solid transparent; border-radius: 13px; color: var(--ink); }
.iphix-mega-devices > a:hover { border-color: #BFDBFE; background: #F8FAFF; color: var(--accent); }
.iphix-mega-devices > a.is-console { grid-column: 1 / -1; border-color: #D7E6FA; background: linear-gradient(100deg,#F7FAFF,#EFF7FF); }
.iphix-mega-devices > a.is-console .iphix-mega-device-img { background: #E7F1FF; }
.iphix-mega-device-img { display: grid; width: 46px; height: 46px; flex: none; place-items: center; border-radius: 11px; background: var(--bg-alt); }
.iphix-mega-device-img img { width: 38px; height: 38px; object-fit: contain; }
.iphix-mega-devices b { overflow: hidden; font-size: 11.5px; text-overflow: ellipsis; }
.iphix-mega-proof { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; margin-top: 12px; padding-top: 12px; border-top: 1px solid #E2E8F0; }
.iphix-mega-proof > span { display: grid; min-width: 0; grid-template-columns: 22px minmax(0,1fr); column-gap: 7px; align-items: center; padding: 7px 8px; border-radius: 10px; background: #F8FAFC; }
.iphix-mega-proof .iphix-icon { grid-row: 1/3; width: 17px; height: 17px; color: var(--accent); }
.iphix-mega-proof b, .iphix-mega-proof small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.iphix-mega-proof b { font-size: 9.5px; }
.iphix-mega-proof small { color: var(--muted); font-size: 8px; }
.iphix-mega-column { min-width: 0; }
.iphix-mega-link { display: flex !important; min-width: 0; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 9px !important; border-radius: 10px; color: var(--ink) !important; }
.iphix-mega-link:hover { background: #F1F5F9; color: var(--accent) !important; }
.iphix-mega-link > span { min-width: 0; }
.iphix-mega-link b, .iphix-mega-link small { display: block; }
.iphix-mega-link b { font-size: 11.5px; }
.iphix-mega-link small { margin-top: 1px; overflow: hidden; color: var(--muted); font-size: 9.5px; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.iphix-mega-link .iphix-icon { width: 13px; color: #94A3B8; }
.iphix-mega-feature { position: relative; display: flex !important; min-height: 190px; flex-direction: column; justify-content: flex-end; overflow: hidden; padding: 22px !important; border-radius: 18px; background: linear-gradient(145deg,#EAF2FF,#DDF9FF); color: var(--ink) !important; }
.iphix-mega-feature::before { content: ""; position: absolute; width: 180px; height: 180px; top: -96px; right: -52px; border-radius: 50%; background: rgba(37,99,235,.13); }
.iphix-mega-feature.is-dark { background: linear-gradient(145deg,#0B1837,#2158D0); color: #fff !important; }
.iphix-mega-feature .iphix-mega-label { position: relative; color: inherit; opacity: .66; }
.iphix-mega-feature strong { position: relative; font: 700 22px/1.08 'Space Grotesk',sans-serif; letter-spacing: -.03em; }
.iphix-mega-feature p { position: relative; margin: 8px 0 14px; color: inherit; font-size: 10.5px; line-height: 1.5; opacity: .72; }
.iphix-mega-feature-cta { position: relative; display: inline-flex; align-items: center; gap: 7px; color: inherit; font-size: 11px; font-weight: 750; }
.iphix-mega-feature-cta .iphix-icon { width: 13px; }
.iphix-mega-feature-stack { display: grid; grid-template-rows: minmax(0,1fr) auto; gap: 8px; }
.iphix-mega-route-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); overflow: hidden; border: 1px solid #DCE5F0; border-radius: 12px; background: #fff; }
.iphix-mega-route-links a { min-width: 0; padding: 9px 5px; color: #475569; font-size: 8.5px; font-weight: 750; text-align: center; white-space: nowrap; }
.iphix-mega-route-links a + a { border-left: 1px solid #E2E8F0; }
.iphix-mega-route-links a:hover { background: #EFF6FF; color: var(--accent); }
.iphix-mega-feature.has-image { min-height: 190px; padding: 0 !important; }
.iphix-mega-feature.has-image::before { display: none; }
.iphix-mega-feature.has-image > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.iphix-mega-feature.has-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(5,15,36,.9),rgba(5,15,36,.18)); }
.iphix-mega-feature.has-image > span { position: relative; z-index: 1; display: flex; height: 100%; flex-direction: column; justify-content: flex-end; padding: 22px; color: #fff; }
.iphix-mega-product { display: grid !important; grid-template-columns: minmax(0,1fr); overflow: hidden; border: 1px solid var(--border); border-radius: 18px; background: #FAFBFD; color: var(--ink) !important; }
.iphix-mega-product:hover { border-color: #BFDBFE; box-shadow: 0 15px 34px -24px rgba(37,99,235,.45); }
.iphix-mega-product img { width: 100%; height: 116px; object-fit: contain; mix-blend-mode: multiply; }
.iphix-mega-product > span { display: grid; grid-template-columns: 1fr auto; gap: 2px 10px; padding: 12px 14px 14px; border-top: 1px solid var(--border); background: #fff; }
.iphix-mega-product small { grid-column: 1/-1; color: var(--accent); font-size: 9px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.iphix-mega-product b { font-size: 11.5px; }
.iphix-mega-product strong { color: var(--accent); font-size: 11.5px; }
.iphix-mega-shop-rail { display: grid; grid-template-rows: minmax(0,1fr) auto; gap: 10px; }
.iphix-mega-shop-products { display: grid; min-width: 0; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.iphix-mega-pickup { display: grid !important; grid-template-columns: 30px minmax(0,1fr) 15px; gap: 10px; align-items: center; min-height: 58px; padding: 10px 13px !important; border-radius: 14px; background: linear-gradient(135deg,#0B1837,#2158D0); color: #fff !important; }
.iphix-mega-pickup > .iphix-icon:first-child { width: 20px; height: 20px; color: #67E8F9; }
.iphix-mega-pickup > .iphix-icon:last-child { width: 13px; height: 13px; transition: transform .2s ease; }
.iphix-mega-pickup:hover > .iphix-icon:last-child { transform: translateX(3px); }
.iphix-mega-pickup b, .iphix-mega-pickup small { display: block; }
.iphix-mega-pickup b { font-size: 10.5px; }
.iphix-mega-pickup small { margin-top: 2px; color: #C4D3EF; font-size: 8.5px; }

/* ---------- hero ---------- */
.iphix-hero {
    position: relative; overflow: hidden;
    background:
        linear-gradient(to top, var(--bg-alt), transparent 160px),
        radial-gradient(760px 460px at 88% 0%, rgba(34, 211, 238, .16), transparent 62%),
        radial-gradient(920px 580px at 5% 4%, rgba(37, 99, 235, .14), transparent 64%),
        #fff;
    padding: 112px 0 104px;
}
.iphix-hero::before {
    content: ""; position: absolute; inset: 0; opacity: .42; pointer-events: none;
    background-image: linear-gradient(to right, rgba(11,18,32,.05) 1px, transparent 1px), linear-gradient(to bottom, rgba(11,18,32,.05) 1px, transparent 1px);
    background-size: 56px 56px;
    -webkit-mask-image: linear-gradient(to bottom, #000, transparent 88%); mask-image: linear-gradient(to bottom, #000, transparent 88%);
}
.iphix-hero .iphix-wrap { position: relative; z-index: 1; }
.iphix-hero-grid { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(380px,.85fr); gap: 70px; align-items: center; }
.iphix-hero-copy { display: flex; flex-direction: column; align-items: flex-start; }
.iphix-hero-kicker {
    display: inline-flex; align-items: center; gap: 8px; margin-bottom: 25px; padding: 7px 14px;
    border: 1px solid rgba(226,232,240,.84); border-radius: 999px; background: rgba(255,255,255,.78);
    color: #1D4FD7; box-shadow: 0 12px 34px -22px rgba(37,99,235,.5);
    font-size: 12px; font-weight: 650; letter-spacing: .01em; -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
}
.iphix-hero h1 { width: 100%; font-size: clamp(50px, 5.6vw, 74px); line-height: 1.04; margin: 0 0 25px; letter-spacing: -.045em; }
.iphix-rotator {
    display: block; min-height: 1.15em; overflow: hidden;
    background: var(--grad); -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent;
}
.iphix-rotator .word { display: inline-block; transition: opacity .35s ease, transform .35s ease; }
.iphix-rotator .word.out { opacity: 0; transform: translateY(-24px); }
.iphix-hero-fixed { display: block; }
.iphix-hero .sub { font-size: 18px; line-height: 1.72; color: var(--muted); max-width: 610px; margin: 0 0 31px; }
.iphix-hero .ctas { display: flex; gap: 14px; flex-wrap: wrap; }
.iphix-hero .ctas .iphix-icon { font-size: 17px; transition: transform .2s ease; }
.iphix-hero .ctas .btn-gradient:hover .iphix-icon { transform: translateX(3px); }
.iphix-hero .trust { display: flex; gap: 11px; margin-top: 25px; color: var(--ink-soft); font-size: 12px; font-weight: 600; flex-wrap: wrap; }
.iphix-hero .trust span {
    display: inline-flex; align-items: center; gap: 8px; padding: 9px 13px;
    border: 1px solid rgba(226,232,240,.82); border-radius: 999px; background: rgba(255,255,255,.78);
    box-shadow: 0 10px 25px -20px rgba(30,58,138,.45); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
}
.iphix-hero .trust .iphix-icon { color: var(--accent); font-size: 15px; }

.iphix-hero-visual { position: relative; min-height: 540px; display: flex; align-items: center; justify-content: center; }
.iphix-hero-visual::before {
    content: ""; position: absolute; inset: 8% -12% 6%; border-radius: 50%;
    background: radial-gradient(circle, rgba(37,99,235,.18), rgba(34,211,238,.08) 48%, transparent 72%);
    filter: blur(14px); animation: iphix-glow 5s ease-in-out infinite;
}
.iphix-hero-phones { position: relative; width: 100%; height: 510px; animation: iphix-device-float 7s ease-in-out infinite; }
.iphix-hero-phones img {
    position: absolute; inset: 0; margin: auto; max-height: 500px; width: auto; max-width: 94%;
    opacity: 0; transform: scale(.94) rotate(-2deg); transition: opacity .7s ease, transform .7s cubic-bezier(.22,1,.36,1);
    filter: drop-shadow(0 46px 54px rgba(37, 99, 235, .28));
}
.iphix-hero-phones img.active { opacity: 1; transform: scale(1) rotate(0); }
.iphix-hero-ticket {
    position: absolute; left: -34px; bottom: 42px; width: 224px; padding: 16px; z-index: 2;
    display: block; max-width: none;
    animation: iphix-float 5.5s ease-in-out infinite;
}
.iphix-hero-ticket:hover { transform: none; }
.iphix-ticket-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; color: var(--accent); font-size: 10px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.iphix-hero-ticket .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--accent2); box-shadow: 0 0 0 5px rgba(34,211,238,.18); }
.iphix-hero-ticket b { display: block; color: var(--ink); font-size: 13px; }
.iphix-ticket-progress { height: 6px; margin-top: 11px; overflow: hidden; border-radius: 999px; background: var(--border); }
.iphix-ticket-progress span { position: relative; display: block; width: 66%; height: 100%; overflow: hidden; border-radius: inherit; background: var(--grad); }
.iphix-ticket-progress span::after {
    content: ""; position: absolute; inset: 0 auto 0 0; width: 28%; border-radius: inherit;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.72), transparent);
    opacity: 0; pointer-events: none; transform: translate3d(-140%,0,0);
    animation: iphix-progress-scan 3.6s linear infinite;
}
.iphix-ticket-stages { display: flex; justify-content: space-between; margin-top: 7px; color: var(--muted); font-size: 9px; }
.iphix-ticket-stages small:nth-child(2) { color: #0891B2; font-weight: 650; }
.iphix-hero-dots { position: absolute; left: 50%; bottom: 0; display: flex; align-items: center; gap: 8px; transform: translateX(-50%); }
.iphix-hero-dots button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 999px; background: #CBD5E1; cursor: pointer; transition: width .25s ease, background .25s ease; }
.iphix-hero-dots button.active { width: 24px; background: var(--grad); }
@keyframes iphix-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
@keyframes iphix-device-float { 0%,100% { transform: translateY(0) rotate(-1.5deg); } 50% { transform: translateY(-16px) rotate(1deg); } }
@keyframes iphix-glow { 0%,100% { opacity: .58; } 50% { opacity: 1; } }
@keyframes iphix-progress-scan {
    0%,18% { opacity: 0; transform: translate3d(-140%,0,0); }
    32%,68% { opacity: .38; }
    82%,100% { opacity: 0; transform: translate3d(260%,0,0); }
}

/* ---------- photographic homepage hero ---------- */
.iphix-hero-slider { position: relative; min-height: 650px; overflow: hidden; isolation: isolate; background: #0A1633; color: #fff; }
.iphix-hero-slides, .iphix-hero-slide { position: absolute; inset: 0; }
.iphix-hero-slide { visibility: hidden; opacity: 0; transition: opacity .8s cubic-bezier(.16,1,.3,1), visibility .8s; }
.iphix-hero-slide.active { visibility: visible; opacity: 1; z-index: 1; }
.iphix-hero-slide > img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; transform: scale(1.02); }
.iphix-hero-slide.active > img { animation: iphix-ken-burns 8s ease-out both; }
.iphix-hero-slide:nth-child(2) > img { transform-origin: 72% 38%; }
.iphix-hero-slide:nth-child(2).active > img { animation-name: iphix-ken-burns-alt; }
.iphix-hero-slide:nth-child(3) > img { transform-origin: 55% 62%; }
.iphix-hero-scrim { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(6,15,35,.88) 0%,rgba(6,15,35,.68) 43%,rgba(6,15,35,.18) 73%,rgba(6,15,35,.34) 100%),linear-gradient(0deg,rgba(6,15,35,.58),transparent 55%); }
.iphix-hero-aurora { position: absolute; z-index: 1; top: -48%; left: -20%; width: 96%; height: 150%; border-radius: 50%; pointer-events: none; background: radial-gradient(circle at 44% 48%,rgba(34,211,238,.26),transparent 34%),radial-gradient(circle at 60% 56%,rgba(37,99,235,.34),transparent 48%),radial-gradient(circle at 35% 62%,rgba(124,58,237,.22),transparent 40%); filter: blur(28px); opacity: 0; transform: translate3d(-7%,3%,0) rotate(-8deg) scale(.96); }
.iphix-hero-focus-line { position: absolute; z-index: 1; top: -18%; left: 53%; width: 1px; height: 142%; pointer-events: none; background: linear-gradient(180deg,transparent,rgba(103,232,249,.8),rgba(96,165,250,.18),transparent); box-shadow: 0 0 38px 8px rgba(34,211,238,.13); opacity: 0; transform: rotate(12deg) translate3d(-60px,0,0); }
.iphix-hero-lens { position: absolute; z-index: 2; top: 48%; right: clamp(60px,10vw,170px); width: clamp(190px,23vw,350px); aspect-ratio: 1; border: 1px solid rgba(125,211,252,.26); border-radius: 50%; opacity: 0; pointer-events: none; transform: translate3d(8%,-50%,0) scale(.72); }
.iphix-hero-lens::before, .iphix-hero-lens::after, .iphix-hero-lens i { position: absolute; border: 1px solid rgba(125,211,252,.24); border-radius: 50%; content: ""; }
.iphix-hero-lens::before { inset: 14%; }
.iphix-hero-lens::after { inset: 31%; border-color: rgba(103,232,249,.38); box-shadow: inset 0 0 34px rgba(34,211,238,.08),0 0 42px rgba(37,99,235,.12); }
.iphix-hero-lens i { inset: 43%; border-color: rgba(255,255,255,.72); background: rgba(103,232,249,.16); }
.iphix-hero-lens i:nth-child(2) { inset: 8%; border-color: rgba(96,165,250,.18); }
.iphix-hero-lens i:nth-child(3) { inset: -9%; border-color: rgba(96,165,250,.1); }
.iphix-hero-slide.active .iphix-hero-aurora { animation: iphix-hero-aurora 8s cubic-bezier(.22,1,.36,1) both; }
.iphix-hero-slide.active .iphix-hero-focus-line { animation: iphix-hero-focus 7.6s cubic-bezier(.4,0,.2,1) both; }
.iphix-hero-slide.active .iphix-hero-lens { animation: iphix-hero-lens-in 7s cubic-bezier(.22,1,.36,1) both; }
.iphix-hero-slide.active .iphix-hero-lens i { animation: iphix-hero-lens-pulse 2.8s .7s cubic-bezier(.4,0,.2,1) infinite; }
.iphix-hero-slide.active .iphix-hero-lens i:nth-child(2) { animation-delay: 1.15s; }
.iphix-hero-slide.active .iphix-hero-lens i:nth-child(3) { animation-delay: 1.6s; }
.iphix-hero-slider-content { position: relative; z-index: 2; display: flex; min-height: 650px; align-items: center; }
.iphix-hero-slider-copy { width: min(660px,62vw); padding: 58px 0 116px; }
.iphix-hero-place { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 22px; color: #DCEBFF; font-size: 12px; font-weight: 650; }
.iphix-hero-place .iphix-icon { color: #67E8F9; }
.iphix-hero-slider h1 { max-width: 650px; margin: 0 0 20px; color: #fff; font-size: clamp(48px,5.8vw,76px); line-height: .98; letter-spacing: -.055em; text-wrap: balance; }
.iphix-hero-slider-copy > p { max-width: 560px; margin: 0 0 30px; color: #D8E5F7; font-size: 18px; line-height: 1.55; }
.iphix-hero-slider .ctas { display: flex; gap: 12px; flex-wrap: wrap; }
.iphix-hero-slide.active .iphix-hero-place { animation: iphix-hero-copy-in .72s .08s cubic-bezier(.16,1,.3,1) both; }
.iphix-hero-slide.active h1 { animation: iphix-hero-copy-in .8s .14s cubic-bezier(.16,1,.3,1) both; }
.iphix-hero-slide.active .iphix-hero-slider-copy > p { animation: iphix-hero-copy-in .82s .22s cubic-bezier(.16,1,.3,1) both; }
.iphix-hero-slide.active .ctas { animation: iphix-hero-copy-in .84s .3s cubic-bezier(.16,1,.3,1) both; }
.iphix-hero-slider .btn-gradient { position: relative; overflow: hidden; isolation: isolate; }
.iphix-hero-slider .btn-gradient::after { content: ""; position: absolute; z-index: -1; top: -80%; left: -55%; width: 34%; height: 260%; pointer-events: none; background: rgba(255,255,255,.3); filter: blur(8px); transform: rotate(18deg) translate3d(-240%,0,0); animation: iphix-hero-button-glint 5.4s 1.2s ease-in-out infinite; }
.btn-photo { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; padding: 0 27px; border: 1px solid rgba(255,255,255,.52); border-radius: 999px; background: rgba(7,18,42,.28); color: #fff !important; font-size: 15px; font-weight: 650; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); transition: background .2s ease, border-color .2s ease, transform .2s ease; }
.btn-photo:hover { border-color: #fff; background: rgba(7,18,42,.5); color: #fff !important; transform: translateY(-2px); }
.iphix-hero-slider-bar { position: absolute; right: 0; bottom: 30px; left: 0; z-index: 4; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.iphix-hero-google { display: inline-flex; min-height: 52px; align-items: center; gap: 8px; padding: 8px 14px; border: 1px solid rgba(255,255,255,.25); border-radius: 15px; background: rgba(7,18,42,.62); color: #fff !important; -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); }
.iphix-google-g { display: inline-grid; width: 30px; height: 30px; flex: none; place-items: center; border-radius: 9px; background: #fff; color: #4285F4; font: 800 17px Arial,sans-serif; }
.iphix-hero-google b { font: 700 15px 'Space Grotesk',sans-serif; }
.iphix-hero-google .stars { color: #FBBF24; font-size: 12px; letter-spacing: 1px; }
.iphix-hero-google small { color: #D8E5F7; font-size: 10px; }
.iphix-hero-controls { display: flex; align-items: center; gap: 10px; }
.iphix-hero-controls > button { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid rgba(255,255,255,.34); border-radius: 50%; background: rgba(7,18,42,.45); color: #fff; cursor: pointer; -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); transition: background .2s ease, transform .2s ease; }
.iphix-hero-controls > button:first-child .iphix-icon { transform: rotate(180deg); }
.iphix-hero-controls > button:hover { background: rgba(37,99,235,.84); transform: scale(1.04); }
.iphix-hero-slider-dots { display: flex; align-items: center; gap: 7px; padding: 0 5px; }
.iphix-hero-slider-dots button { position: relative; width: 8px; height: 8px; overflow: hidden; padding: 0; border: 0; border-radius: 999px; background: rgba(255,255,255,.45); cursor: pointer; transition: width .25s ease, background .25s ease; }
.iphix-hero-slider-dots button[aria-selected="true"] { width: 34px; background: rgba(255,255,255,.32); }
.iphix-hero-slider-dots button[aria-selected="true"]::after { position: absolute; inset: 0; border-radius: inherit; background: #67E8F9; content: ""; transform: scaleX(0); transform-origin: left center; animation: iphix-hero-dot-progress 7s linear both; }
.iphix-hero-slider.is-paused .iphix-hero-slider-dots button[aria-selected="true"]::after { animation-play-state: paused; }
.iphix-photo-credit { position: absolute; right: 18px; top: 18px; z-index: 3; padding: 6px 9px; border-radius: 7px; background: rgba(7,18,42,.6); color: #E5EEFB; font-size: 9px; }
.iphix-photo-credit a { color: #fff; text-decoration: underline; }
@keyframes iphix-ken-burns { from { transform: scale(1.02) translate3d(0,0,0); } to { transform: scale(1.11) translate3d(-1.5%,-1%,0); } }
@keyframes iphix-ken-burns-alt { from { transform: scale(1.03) translate3d(-1%,0,0); } to { transform: scale(1.12) translate3d(1.4%,-1%,0); } }
@keyframes iphix-hero-copy-in { from { opacity: 0; transform: translate3d(0,24px,0); } to { opacity: 1; transform: translate3d(0,0,0); } }
@keyframes iphix-hero-aurora { 0% { opacity: 0; transform: translate3d(-7%,3%,0) rotate(-8deg) scale(.96); } 18% { opacity: .82; } 100% { opacity: .56; transform: translate3d(9%,-2%,0) rotate(4deg) scale(1.1); } }
@keyframes iphix-hero-focus { 0% { opacity: 0; transform: rotate(12deg) translate3d(-110px,0,0); } 18%,68% { opacity: .68; } 100% { opacity: 0; transform: rotate(12deg) translate3d(230px,0,0); } }
@keyframes iphix-hero-lens-in { 0% { opacity: 0; transform: translate3d(8%,-50%,0) scale(.72); } 16% { opacity: .66; } 72% { opacity: .42; } 100% { opacity: .12; transform: translate3d(-4%,-50%,0) scale(1.04); } }
@keyframes iphix-hero-lens-pulse { 0%,100% { opacity: .18; transform: scale(.84); } 50% { opacity: .72; transform: scale(1.04); } }
@keyframes iphix-hero-dot-progress { to { transform: scaleX(1); } }
@keyframes iphix-hero-button-glint { 0%,62% { opacity: 0; transform: rotate(18deg) translate3d(-240%,0,0); } 72% { opacity: .8; } 86%,100% { opacity: 0; transform: rotate(18deg) translate3d(680%,0,0); } }
@keyframes iphix-topbar-tide { from { transform: translate3d(-8%,0,0); } to { transform: translate3d(18%,0,0); } }

.iphix-page-hero { padding: 82px 0 70px; }
.iphix-page-hero h1 { max-width: 900px; margin-left: auto !important; margin-right: auto !important; font-size: clamp(40px,5vw,58px) !important; }
.iphix-page-hero .iphix-sub { margin-bottom: 0 !important; }

/* ---------- homepage service switchboard ---------- */
.elementor .iphix-home-hub-section { padding-top: 42px !important; padding-bottom: 42px !important; }
.iphix-home-hub { display: grid; grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr); overflow: hidden; border: 1px solid #D8E3EF; border-radius: 24px; background: #fff; box-shadow: 0 28px 72px -52px rgba(30,58,138,.42); }
.iphix-home-hub-visual { position: relative; min-height: 440px; overflow: hidden; padding: 42px; background: linear-gradient(145deg,#0C1836,#173E92); color: #fff; }
.iphix-home-hub-visual::after { content: ""; position: absolute; right: -80px; bottom: -110px; width: 330px; height: 330px; border-radius: 50%; background: rgba(34,211,238,.15); filter: blur(8px); }
.iphix-home-hub-visual > div { position: relative; z-index: 2; max-width: 420px; }
.iphix-home-hub-visual span { color: #8CB8FF; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.iphix-home-hub-visual h2 { margin: 13px 0 12px; color: #fff; font-size: clamp(31px,3.8vw,48px); line-height: 1.02; letter-spacing: -.045em; }
.iphix-home-hub-visual p { max-width: 390px; margin: 0; color: #C4D3EF; font-size: 13px; line-height: 1.65; }
.iphix-home-hub-visual img { position: absolute; z-index: 1; right: 18px; bottom: -32px; width: 225px; max-height: 245px; object-fit: contain; filter: drop-shadow(0 28px 30px rgba(0,0,0,.25)); transform: rotate(7deg); }
.iphix-home-hub-routes { padding: 38px; }
.iphix-home-hub-routes > h3 { margin: 0 0 19px; font-size: 23px; }
.iphix-home-hub-routes > a { display: grid; grid-template-columns: 44px minmax(0,1fr) 18px; gap: 14px; align-items: center; min-height: 88px; padding: 13px 15px; border-top: 1px solid #E2E8F0; color: var(--ink); transition: padding .22s ease, background .22s ease; }
.iphix-home-hub-routes > a:nth-of-type(1) { border-top: 0; }
.iphix-home-hub-routes > a:hover { padding-right: 11px; padding-left: 19px; background: #F7FAFE; }
.iphix-home-hub-routes > a > span { display: inline-flex; width: 44px; height: 44px; align-items: center; justify-content: center; border-radius: 13px; background: #EAF2FF; color: var(--accent); }
.iphix-home-hub-routes > a.is-primary > span { background: var(--accent); color: #fff; }
.iphix-home-hub-routes b, .iphix-home-hub-routes small { display: block; }
.iphix-home-hub-routes b { font-size: 13px; }
.iphix-home-hub-routes small { margin-top: 4px; color: var(--muted); font-size: 10px; line-height: 1.45; }
.iphix-home-hub-routes > a > .iphix-icon { width: 16px; color: #94A3B8; transition: transform .22s ease; }
.iphix-home-hub-routes > a:hover > .iphix-icon { color: var(--accent); transform: translateX(3px); }
.iphix-home-hub-links { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 14px; padding: 18px 15px 0; border-top: 1px solid #E2E8F0; }
.iphix-home-hub-links a { color: var(--accent); font-size: 10px; font-weight: 750; }

/* ---------- homepage commerce story ---------- */
.iphix-wide-wrap { width: 100%; max-width: var(--site-max); box-sizing: border-box; margin: 0 auto; padding: 0 24px; }
.elementor .iphix-commerce-section { padding: 64px 0 76px !important; background: #F3F7FC; }
.iphix-commerce-stage { display: grid; grid-template-columns: minmax(0,.78fr) minmax(0,1.22fr); overflow: hidden; min-height: 520px; border: 1px solid #D8E3EF; border-radius: 24px; background: #fff; box-shadow: 0 32px 80px -58px rgba(30,58,138,.48); }
.iphix-commerce-stage-copy { display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: 58px; }
.iphix-store-label { display: block; margin-bottom: 13px; color: var(--accent); font-size: 11px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.iphix-commerce-stage-copy h2, .iphix-delivery-story-copy h2 { max-width: 560px; margin: 0; font-size: clamp(35px,4.3vw,54px); line-height: 1.02; letter-spacing: -.045em; }
.iphix-commerce-stage-copy > p, .iphix-delivery-story-copy > p { max-width: 540px; margin: 20px 0 0; color: var(--muted); font-size: 15px; line-height: 1.72; }
.iphix-commerce-actions { display: flex; align-items: center; gap: 20px; margin-top: 30px; flex-wrap: wrap; }
.iphix-commerce-actions > a:not(.btn-gradient) { color: var(--accent); font-size: 13px; font-weight: 750; }
.iphix-commerce-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-top: 40px; padding-top: 24px; border-top: 1px solid #E2E8F0; }
.iphix-commerce-facts > span { display: grid; grid-template-columns: 28px minmax(0,1fr); column-gap: 9px; align-items: center; }
.iphix-commerce-facts .iphix-icon { grid-row: 1/3; width: 21px; height: 21px; color: var(--accent); }
.iphix-commerce-facts b, .iphix-commerce-facts small { display: block; }
.iphix-commerce-facts b { color: var(--ink); font-size: 11px; }
.iphix-commerce-facts small { color: var(--muted); font-size: 9px; }
.iphix-commerce-stage-products { display: grid; grid-template-columns: minmax(0,1.12fr) minmax(220px,.88fr); gap: 14px; padding: 24px; background: linear-gradient(145deg,#EAF2FF,#F7FBFF 58%,#E5F7FB); }
.iphix-commerce-product-stack { display: grid; min-width: 0; grid-template-rows: repeat(2,minmax(0,1fr)); gap: 14px; }
.iphix-commerce-product { display: grid; min-width: 0; overflow: hidden; border: 1px solid rgba(203,213,225,.86); border-radius: 18px; background: rgba(255,255,255,.91); color: var(--ink); box-shadow: 0 22px 52px -42px rgba(30,58,138,.45); transition: border-color .22s ease, transform .22s ease, box-shadow .22s ease; }
.iphix-commerce-product:hover { border-color: #93C5FD; color: var(--ink); box-shadow: 0 28px 58px -40px rgba(37,99,235,.42); transform: translateY(-3px); }
.iphix-commerce-product.is-featured { grid-template-rows: minmax(0,1fr) auto; }
.iphix-commerce-product-stack .iphix-commerce-product { grid-template-columns: minmax(105px,.85fr) minmax(0,1.15fr); }
.iphix-commerce-product-media { display: flex; min-width: 0; min-height: 0; align-items: center; justify-content: center; padding: 22px; background: #F7F9FC; }
.iphix-commerce-product-media img { width: 100%; max-width: 250px; height: 100%; max-height: 300px; object-fit: contain; transition: transform .3s cubic-bezier(.16,1,.3,1); }
.iphix-commerce-product:hover .iphix-commerce-product-media img { transform: scale(1.035); }
.iphix-commerce-product > span:last-child { display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: 20px 22px; border-top: 1px solid #E2E8F0; }
.iphix-commerce-product-stack .iphix-commerce-product > span:last-child { border-top: 0; border-left: 1px solid #E2E8F0; }
.iphix-commerce-product small, .iphix-commerce-product b, .iphix-commerce-product em { display: block; }
.iphix-commerce-product small { color: var(--accent); font-size: 9px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.iphix-commerce-product b { margin-top: 5px; font: 700 15px/1.3 'Space Grotesk',sans-serif; }
.iphix-commerce-product em { display: inline-flex; align-items: center; gap: 6px; margin-top: 13px; color: var(--accent); font-size: 10px; font-style: normal; font-weight: 750; }
.iphix-commerce-product em .iphix-icon { width: 12px; transition: transform .2s ease; }
.iphix-commerce-product:hover em .iphix-icon { transform: translateX(3px); }
.iphix-commerce-section .iphix-products { margin-top: 34px; }
.iphix-commerce-shop-all { margin-top: 34px; }

/* ---------- homepage order and delivery story ---------- */
.elementor .iphix-delivery-section { padding: 58px 0 !important; }
.iphix-delivery-story { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); overflow: hidden; border: 1px solid #D8E3EF; border-radius: 24px; background: #fff; box-shadow: 0 28px 72px -54px rgba(30,58,138,.44); }
.iphix-delivery-story-visual { min-height: 480px; padding: 28px; background: linear-gradient(145deg,#E8F1FF,#F7FBFF); }
.iphix-delivery-story-visual img { width: 100%; height: 100%; border-radius: 17px; object-fit: cover; box-shadow: 0 24px 54px -40px rgba(30,58,138,.5); }
.iphix-delivery-story-copy { display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: 54px 58px; }
.iphix-delivery-story-copy h2 { font-size: clamp(32px,3.8vw,48px); }
.iphix-delivery-steps { margin-top: 26px; border-top: 1px solid #E2E8F0; }
.iphix-delivery-steps > a { display: grid; grid-template-columns: 38px minmax(0,1fr) 16px; gap: 14px; align-items: center; min-height: 78px; padding: 11px 4px; border-bottom: 1px solid #E2E8F0; color: var(--ink); transition: color .2s ease, padding .2s ease; }
.iphix-delivery-steps > a:hover { padding-right: 0; padding-left: 8px; color: var(--accent); }
.iphix-delivery-steps > a > .iphix-icon:first-child { width: 22px; height: 22px; color: var(--accent); }
.iphix-delivery-steps > a > .iphix-icon:last-child { width: 14px; height: 14px; color: #94A3B8; }
.iphix-delivery-steps b, .iphix-delivery-steps small { display: block; }
.iphix-delivery-steps b { font-size: 13px; }
.iphix-delivery-steps small { margin-top: 3px; color: var(--muted); font-size: 10px; line-height: 1.45; }

/* ---------- stats / counters ---------- */
.iphix-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; overflow: hidden; }
.iphix-stats:hover { transform: none; }
.iphix-stat { padding: 34px 26px; text-align: center; }
.iphix-stat + .iphix-stat { border-left: 1px solid rgba(226,232,240,.82); }
.iphix-stat .num {
    font-family: 'Space Grotesk', sans-serif; font-size: 44px; font-weight: 700;
    background: var(--grad); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.iphix-stat .lbl { color: var(--muted); font-size: 14.5px; margin-top: 6px; }

/* ---------- category cards ---------- */
.iphix-cats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.iphix-cat { padding: 26px; display: flex; flex-direction: column; gap: 6px; position: relative; overflow: hidden; }
.iphix-cat img { width: 74px; height: 74px; object-fit: contain; margin-bottom: 12px; }
.iphix-cat h3 { font-size: 19px; margin: 0; }
.iphix-cat .meta { color: var(--muted); font-size: 14px; }
.iphix-cat .from { color: var(--accent); font-weight: 600; font-size: 14px; }
.iphix-cat .go {
    position: absolute; top: 22px; right: 22px; width: 34px; height: 34px; border-radius: 50%;
    border: 1.5px solid var(--border); display: flex; align-items: center; justify-content: center;
    color: var(--muted); transition: .25s;
}
.iphix-cat:hover .go { background: var(--grad); border-color: transparent; color: #fff; }

/* ---------- price lists / tables ---------- */
.iphix-pop { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px 40px; }
.iphix-pop-item {
    display: flex; align-items: center; gap: 14px; padding: 18px 22px;
}
.iphix-pop-item .ic {
    width: 42px; height: 42px; flex: none; border-radius: 12px;
    background: rgba(37, 99, 235, .09); color: var(--accent);
    display: flex; align-items: center; justify-content: center; font-size: 19px;
}
.iphix-pop-item .t { flex: 1; }
.iphix-pop-item .t b { display: block; font-size: 15px; }
.iphix-pop-item .t small { color: var(--muted); font-size: 13px; }
.iphix-pop-item .p { font-family: 'Space Grotesk'; font-weight: 700; font-size: 18px; color: var(--accent); white-space: nowrap; }

.iphix-badge {
    display: inline-block; font-size: 11px; font-weight: 600; letter-spacing: .04em;
    padding: 3px 10px; border-radius: 999px; background: var(--grad); color: #fff;
    vertical-align: middle; margin-left: 8px;
}

.iphix-tabs { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 30px; }
.iphix-tab {
    padding: 11px 22px; border-radius: 999px; border: 1.5px solid var(--border);
    background: #fff; font-weight: 600; font-size: 14px; color: var(--ink-soft); cursor: pointer; transition: .2s;
}
.iphix-tab.active, .iphix-tab:hover { background: var(--grad); border-color: transparent; color: #fff; }

.iphix-pricing-search { position: relative; margin-bottom: 28px; max-width: 440px; }
.iphix-pricing-search input {
    width: 100%; padding: 15px 20px 15px 48px; border-radius: 999px; border: 1.5px solid var(--border);
    font-size: 15px; font-family: 'Inter'; outline: none; transition: border-color .2s; box-sizing: border-box;
}
.iphix-pricing-search input:focus { border-color: var(--accent); }
.iphix-pricing-search::before {
    content: "⌕"; position: absolute; left: 20px; top: 50%; transform: translateY(-50%);
    color: var(--muted); font-size: 19px;
}

.iphix-series-block { margin-bottom: 34px; }
.iphix-series-block h3 { font-size: 20px; margin: 0 0 14px; display: flex; align-items: center; gap: 10px; }
.iphix-table-scroll { overflow-x: auto; border-radius: var(--radius); border: 1px solid var(--border); background: #fff; box-shadow: var(--shadow-card); }
table.iphix-table { width: 100%; border-collapse: collapse; min-width: 620px; }
table.iphix-table th {
    text-align: left; font-size: 12px; letter-spacing: .09em; text-transform: uppercase;
    color: var(--muted); padding: 15px 22px; border-bottom: 1px solid var(--border); background: var(--bg-alt);
}
table.iphix-table td { padding: 15px 22px; border-bottom: 1px solid var(--border); font-size: 14.5px; vertical-align: middle; }
table.iphix-table tr:last-child td { border-bottom: 0; }
table.iphix-table td.price { font-family: 'Space Grotesk'; font-weight: 700; color: var(--accent); font-size: 16px; white-space: nowrap; }
table.iphix-table td.dev { color: var(--ink-soft); font-size: 13.5px; }

/* ---------- product cards ---------- */
.iphix-products { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.iphix-product { overflow: hidden; display: flex; flex-direction: column; }
.iphix-product .thumb { position: relative; background: var(--bg-alt); padding: 22px; text-align: center; }
.iphix-product .thumb img { max-height: 170px; width: auto; margin: 0 auto; }
.iphix-product .pbadge {
    position: absolute; top: 14px; left: 14px; font-size: 11px; font-weight: 600;
    background: var(--grad); color: #fff; border-radius: 999px; padding: 4px 11px;
}
.iphix-product .body { padding: 18px 20px 20px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.iphix-product .name { font-size: 15px; font-weight: 600; color: var(--ink); line-height: 1.35; }
.iphix-product .stars { color: #F59E0B; font-size: 13px; letter-spacing: 2px; }
.iphix-product .stars small { color: var(--muted); letter-spacing: 0; margin-left: 4px; }
.iphix-product .price { font-family: 'Space Grotesk'; font-weight: 700; font-size: 18px; color: var(--ink); }
.iphix-product .price del { color: var(--muted); font-weight: 400; font-size: 14px; margin-right: 8px; }
.iphix-product .price ins { text-decoration: none; color: var(--accent); }
.iphix-product .add {
    margin-top: auto; text-align: center; padding: 11px; border-radius: 999px; font-size: 14px; font-weight: 600;
    background: rgba(37, 99, 235, .08); color: var(--accent) !important; transition: .2s;
}
.iphix-product .add:hover { background: var(--grad); color: #fff !important; }

/* ---------- reviews ---------- */
.iphix-reviews-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.iphix-review { padding: 26px; display: flex; flex-direction: column; gap: 12px; }
.iphix-review .stars { color: #F59E0B; font-size: 15px; letter-spacing: 3px; }
.iphix-review p { margin: 0; color: var(--ink-soft); font-size: 14.5px; flex: 1; }
.iphix-review .who { display: flex; align-items: center; gap: 12px; }
.iphix-review .avatar {
    width: 42px; height: 42px; border-radius: 50%; flex: none;
    background: var(--grad); color: #fff; font-weight: 600;
    display: flex; align-items: center; justify-content: center; font-size: 15px;
}
.iphix-review .who b { font-size: 14.5px; display: block; }
.iphix-review .who small { color: var(--muted); font-size: 12.5px; }
.iphix-review .verified { color: #16A34A; font-size: 12px; font-weight: 600; margin-left: auto; }

.iphix-marquee { overflow: hidden; position: relative; padding: 4px 0 10px;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}
.iphix-marquee-track { display: flex; gap: 22px; width: max-content; animation: iphix-scroll 42s linear infinite; }
.iphix-marquee:hover .iphix-marquee-track { animation-play-state: paused; }
.iphix-marquee .iphix-review { width: 340px; flex: none; }
@keyframes iphix-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }

.iphix-agg { padding: 40px; text-align: center; max-width: 560px; margin: 0 auto 44px; }
.iphix-agg .big {
    font-family: 'Space Grotesk'; font-size: 64px; font-weight: 700;
    background: var(--grad); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.iphix-agg .stars { color: #F59E0B; font-size: 22px; letter-spacing: 5px; margin: 8px 0; }
.iphix-agg .n { color: var(--muted); font-size: 14.5px; }

.iphix-google-proof { overflow: hidden; border: 1px solid #DCE5F0; border-radius: 24px; background: #fff; box-shadow: 0 28px 70px -48px rgba(30,58,138,.38); }
.iphix-google-proof-head { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 28px 30px; border-bottom: 1px solid var(--border); }
.iphix-google-proof-head > div { display: flex; align-items: center; gap: 14px; }
.iphix-google-proof-head h2 { margin: 0 0 3px; font-size: 25px; }
.iphix-google-proof-head p { margin: 0; color: var(--muted); font-size: 12px; }
.iphix-google-score { display: grid; grid-template-columns: auto auto; column-gap: 9px; align-items: center; color: var(--ink) !important; }
.iphix-google-score b { font: 700 24px 'Space Grotesk',sans-serif; }
.iphix-google-score > span { color: #F59E0B; font-size: 14px; letter-spacing: 2px; }
.iphix-google-score small { grid-column: 1/-1; justify-self: end; color: var(--muted); font-size: 10px; }
.iphix-google-reviews { overflow: hidden; -webkit-mask-image: linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent); mask-image: linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent); }
.iphix-google-review-track { display: flex; width: max-content; animation: iphix-google-review-loop 38s linear infinite; will-change: transform; }
.iphix-google-review-group { display: flex; flex: none; }
.iphix-google-reviews:hover .iphix-google-review-track, .iphix-google-reviews:focus-within .iphix-google-review-track { animation-play-state: paused; }
.iphix-google-review { width: clamp(300px,34vw,430px); min-height: 240px; flex: none; box-sizing: border-box; padding: 26px 28px; border-right: 1px solid var(--border); }
.iphix-google-review-stars { color: #F59E0B; font-size: 14px; letter-spacing: 2px; }
.iphix-google-review > p { display: -webkit-box; min-height: 105px; margin: 16px 0 22px; overflow: hidden; color: var(--ink-soft); font-size: 13.5px; line-height: 1.65; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.iphix-google-review > p.is-empty { color: var(--muted); font-style: italic; }
.iphix-google-review footer { display: flex; align-items: center; gap: 11px; }
.iphix-google-review footer > img, .iphix-google-review footer > span { display: grid; width: 38px; height: 38px; flex: none; place-items: center; border-radius: 50%; background: #E9F1FF; color: var(--accent); object-fit: cover; font-weight: 750; }
.iphix-google-review footer b, .iphix-google-review footer small { display: block; }
.iphix-google-review footer b { color: var(--ink); font-size: 12px; }
.iphix-google-review footer small { margin-top: 2px; color: var(--muted); font-size: 9.5px; }
.iphix-google-actions { display: flex; justify-content: flex-end; padding: 18px 28px; border-top: 1px solid var(--border); background: #F8FAFD; }
.iphix-google-actions .btn-ghost { min-height: 42px; padding: 0 18px; font-size: 12px; }
.iphix-google-empty { padding: 42px 30px; text-align: center; }
.iphix-google-empty p { margin: 0 0 18px; color: var(--muted); }
@keyframes iphix-google-review-loop { to { transform: translate3d(-50%,0,0); } }

/* ---------- track / timeline ---------- */
.iphix-track-form { display: flex; gap: 12px; max-width: 520px; }
.iphix-track-form input {
    flex: 1; padding: 15px 22px; border-radius: 999px; border: 1.5px solid var(--border);
    font-size: 15px; font-family: 'Inter'; outline: none;
}
.iphix-track-form input:focus { border-color: var(--accent); }
.iphix-ticket-card { padding: 34px; margin-top: 34px; }
.iphix-ticket-head { display: flex; justify-content: space-between; gap: 18px; flex-wrap: wrap; margin-bottom: 26px; }
.iphix-ticket-head h3 { margin: 0 0 4px; font-size: 22px; }
.iphix-ticket-head .code { color: var(--muted); font-size: 14px; }
.iphix-ticket-appointment { display: flex; align-items: center; gap: 12px; margin: -3px 0 24px; padding: 13px 15px; border: 1px solid #DBEAFE; border-radius: 13px; background: #F5F9FF; color: var(--accent); }
.iphix-ticket-appointment .iphix-icon { width: 19px; height: 19px; }
.iphix-ticket-appointment b, .iphix-ticket-appointment small { display: block; }
.iphix-ticket-appointment b { color: var(--ink); font-size: 11px; }
.iphix-ticket-appointment small { color: var(--muted); font-size: 10px; }
.iphix-status-pill {
    align-self: flex-start; padding: 8px 18px; border-radius: 999px; font-size: 13px; font-weight: 600;
    background: rgba(37, 99, 235, .1); color: var(--accent);
}
.iphix-status-pill.done { background: rgba(34, 197, 94, .12); color: #16A34A; }
.iphix-timeline { list-style: none; margin: 0; padding: 0; position: relative; }
.iphix-timeline::before { content: ""; position: absolute; left: 15px; top: 8px; bottom: 8px; width: 2px; background: var(--border); }
.iphix-timeline li { position: relative; padding: 0 0 26px 48px; }
.iphix-timeline li:last-child { padding-bottom: 0; }
.iphix-timeline .tdot {
    position: absolute; left: 6px; top: 2px; width: 20px; height: 20px; border-radius: 50%;
    background: #fff; border: 2px solid var(--border); z-index: 1;
}
.iphix-timeline li.done .tdot { background: var(--grad); border-color: transparent; box-shadow: 0 0 0 5px rgba(37, 99, 235, .12); }
.iphix-timeline li.done .tdot::after { content: "✓"; color: #fff; font-size: 11px; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
.iphix-timeline li.current .tdot { border-color: var(--accent); box-shadow: 0 0 0 5px rgba(37, 99, 235, .15); animation: iphix-pulse 1.8s infinite; }
@keyframes iphix-pulse { 0%,100% { box-shadow: 0 0 0 4px rgba(37,99,235,.18); } 50% { box-shadow: 0 0 0 9px rgba(37,99,235,.06); } }
.iphix-timeline b { font-size: 15px; display: block; }
.iphix-timeline li.current b { color: var(--accent); }
.iphix-timeline small { color: var(--muted); font-size: 13px; }
.iphix-notice { padding: 18px 24px; border-radius: var(--radius-sm); margin-bottom: 24px; font-size: 14.5px; }
.iphix-notice.ok { background: rgba(34, 197, 94, .1); color: #15803D; border: 1px solid rgba(34, 197, 94, .3); }
.iphix-notice.err { background: rgba(239, 68, 68, .08); color: #B91C1C; border: 1px solid rgba(239, 68, 68, .25); }

/* ---------- wizard ---------- */
.iphix-wizard { overflow: hidden; scroll-margin-top: 125px; border: 1px solid #DCE5F0; border-radius: 28px; background: #fff; box-shadow: 0 34px 90px -48px rgba(30,58,138,.36); }
.iphix-wiz-alert { margin: 18px 18px 0; padding: 13px 15px; border: 1px solid #F5A6A6; border-radius: 13px; background: #FFF5F5; color: #8F2525; font-size: 13px; font-weight: 700; }
.iphix-wiz-intro { padding: 38px 42px 30px; background: linear-gradient(135deg,#F8FAFF,#F0FAFF); border-bottom: 1px solid var(--border); }
.iphix-wiz-intro .iphix-eyebrow { margin-bottom: 8px; font-size: 10.5px; }
.iphix-wiz-intro h2 { margin: 0 0 7px; font-size: clamp(28px,4vw,40px); letter-spacing: -.035em; }
.iphix-wiz-intro p { max-width: 610px; margin: 0; color: var(--muted); font-size: 14.5px; }
.iphix-wiz-steps { display: grid; grid-template-columns: repeat(5,1fr); gap: 0; margin: 0; padding: 0 42px; border-bottom: 1px solid var(--border); background: #fff; }
.iphix-wiz-steps .st {
    position: relative; display: flex; min-height: 74px; align-items: center; justify-content: center; gap: 9px;
    padding: 0; border: 0; background: transparent; color: #94A3B8; font: 650 12px 'Inter',sans-serif; cursor: default;
}
.iphix-wiz-steps .st::after { content: ""; position: absolute; right: 0; bottom: -1px; left: 0; height: 3px; background: transparent; }
.iphix-wiz-steps .st i { display: inline-grid; width: 27px; height: 27px; place-items: center; border: 1px solid #CBD5E1; border-radius: 50%; font-style: normal; font-size: 11px; }
.iphix-wiz-steps .st.active { color: var(--ink); }
.iphix-wiz-steps .st.active i { border-color: transparent; background: #E8F0FF; color: var(--accent); }
.iphix-wiz-steps .st.current::after { background: var(--grad); }
.iphix-wiz-steps .st.complete { cursor: pointer; }
.iphix-wiz-steps .st.complete i { background: var(--grad); color: #fff; }
.iphix-wiz-pane { display: none; padding: 38px 42px 42px; }
.iphix-wiz-pane.active { display: block; animation: iphix-wiz-pane-in .24s cubic-bezier(.16,1,.3,1) both; }
@keyframes iphix-wiz-pane-in { from { opacity: 0; transform: translateY(9px); } to { opacity: 1; transform: none; } }
.iphix-wiz-pane-head { margin-bottom: 28px; }
.iphix-wiz-pane-head > span { color: var(--accent); font-size: 10px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.iphix-wiz-pane-head h3 { margin: 5px 0 6px; font-size: 24px; letter-spacing: -.025em; }
.iphix-wiz-pane-head p { margin: 0; color: var(--muted); font-size: 13.5px; }
.iphix-device-choices { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.iphix-device-choice { position: relative; display: grid; min-width: 0; grid-template-columns: 68px minmax(0,1fr) 16px; align-items: center; gap: 11px; padding: 13px; border: 1.5px solid var(--border); border-radius: 16px; background: #fff; color: var(--ink); text-align: left; cursor: pointer; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.iphix-device-choice:hover { border-color: #93C5FD; box-shadow: 0 14px 30px -22px rgba(37,99,235,.4); transform: translateY(-2px); }
.iphix-device-choice.selected { border-color: var(--accent); background: #F7FAFF; box-shadow: inset 0 0 0 1px var(--accent); }
.iphix-device-choice-image { display: grid; width: 68px; height: 68px; place-items: center; border-radius: 13px; background: var(--bg-alt); }
.iphix-device-choice-image img { width: 58px; height: 58px; object-fit: contain; }
.iphix-device-choice b, .iphix-device-choice small { display: block; }
.iphix-device-choice b { overflow: hidden; font-size: 13px; text-overflow: ellipsis; }
.iphix-device-choice small { margin-top: 3px; color: var(--muted); font-size: 9.5px; }
.iphix-device-choice > .iphix-icon { width: 14px; color: #94A3B8; }
.iphix-device-choices.needs-choice { padding: 5px; border: 2px solid #FCA5A5; border-radius: 20px; }
.iphix-wiz-native-select { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.iphix-model-picker { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.iphix-wiz-field { margin-bottom: 20px; }
.iphix-wiz-field label { display: block; color: var(--ink); font-weight: 650; font-size: 12.5px; margin-bottom: 8px; }
.iphix-wiz-field label small { color: var(--muted); font-weight: 450; }
.iphix-wiz-field select, .iphix-wiz-field input, .iphix-wiz-field textarea {
    width: 100%; min-height: 50px; padding: 13px 16px; border: 1.5px solid #CBD5E1; border-radius: 13px;
    color: var(--ink); font-size: 14px; font-family: 'Inter'; background: #fff; outline: none; box-sizing: border-box; transition: border-color .2s, box-shadow .2s;
}
.iphix-wiz-field select:focus, .iphix-wiz-field input:focus, .iphix-wiz-field textarea:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(37,99,235,.1); }
.iphix-wiz-field select.is-invalid { border-color: #EF4444; box-shadow: 0 0 0 3px rgba(239,68,68,.1); }
.iphix-wiz-field > small { display: block; margin-top: 7px; color: var(--muted); font-size: 10px; }
.iphix-wiz-help { display: flex; align-items: center; gap: 14px; padding: 16px 18px; border: 1px solid #DBEAFE; border-radius: 14px; background: #F4F8FF; }
.iphix-wiz-help > span { display: grid; width: 38px; height: 38px; flex: none; place-items: center; border-radius: 11px; background: #fff; color: var(--accent); }
.iphix-wiz-help p { margin: 0; color: var(--muted); font-size: 11.5px; line-height: 1.55; }
.iphix-wiz-help b { color: var(--ink); font-size: 12px; }
.iphix-issues { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.iphix-issue {
    display: flex; min-width: 0; min-height: 72px; align-items: center; gap: 11px; padding: 13px 15px; border: 1.5px solid var(--border);
    border-radius: 15px; cursor: pointer; font-size: 13px; transition: .2s; user-select: none;
}
.iphix-issue:hover { border-color: var(--accent); }
.iphix-issue.on { border-color: var(--accent); background: #F5F9FF; box-shadow: inset 0 0 0 1px var(--accent); }
.iphix-issue.is-other { grid-column: 1/-1; border-style: dashed; background: #F8FBFF; }
.iphix-issue.is-other.on { border-style: solid; }
.iphix-issue input { display: none; }
.iphix-issue .cb {
    width: 19px; height: 19px; border-radius: 6px; border: 1.5px solid var(--border); flex: none;
    display: flex; align-items: center; justify-content: center; color: #fff; font-size: 11px;
}
.iphix-issue.on .cb { background: var(--grad); border-color: transparent; }
.iphix-issue.on .cb::before { content: "✓"; }
.iphix-issue > span:nth-of-type(2) { min-width: 0; }
.iphix-issue b, .iphix-issue small { display: block; }
.iphix-issue b { overflow: hidden; color: var(--ink); font-size: 12.5px; text-overflow: ellipsis; white-space: nowrap; }
.iphix-issue small { margin-top: 3px; color: var(--muted); font-size: 9.5px; }
.iphix-issue .pr { margin-left: auto; color: var(--accent); font-weight: 750; font-size: 12.5px; white-space: nowrap; }
.iphix-issues.needs-choice { padding: 5px; border: 2px solid #FCA5A5; border-radius: 18px; }
.iphix-wiz-empty { grid-column: 1/-1; margin: 0; padding: 24px; border: 1px dashed #CBD5E1; border-radius: 14px; background: var(--bg-alt); color: var(--muted); font-size: 13px; text-align: center; }
.iphix-wiz-total {
    display: flex; justify-content: space-between; align-items: center; padding: 20px 22px; margin: 24px 0;
    background: #F7F9FC; border-radius: 15px; border: 1px solid var(--border);
}
.iphix-wiz-total b, .iphix-wiz-total small { display: block; }
.iphix-wiz-total b { color: var(--ink); font-size: 12px; }
.iphix-wiz-total small { margin-top: 2px; color: var(--muted); font-size: 10px; }
.iphix-wiz-total .amt { font-family: 'Space Grotesk'; font-size: 26px; font-weight: 700; color: var(--accent); }
.iphix-wiz-nav { display: flex; justify-content: space-between; gap: 14px; margin-top: 28px; }
.iphix-wiz-nav .btn-gradient, .iphix-wiz-nav .btn-ghost { min-height: 48px; padding: 0 24px; font-size: 13px; }
.iphix-wiz-details-grid { display: grid; grid-template-columns: minmax(0,1fr) 280px; gap: 28px; align-items: start; }
.iphix-wiz-review { position: sticky; top: 132px; overflow: hidden; padding: 22px; border: 1px solid var(--border); border-radius: 18px; background: #F7F9FC; }
.iphix-wiz-review dl { margin: 0; }
.iphix-wiz-review dl > div { display: grid; grid-template-columns: 68px 1fr; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--border); }
.iphix-wiz-review dt { color: var(--muted); font-size: 9.5px; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
.iphix-wiz-review dd { margin: 0; color: var(--ink); font-size: 10.5px; font-weight: 650; line-height: 1.4; }
.iphix-wiz-review-total { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; padding: 17px 0; }
.iphix-wiz-review-total span, .iphix-wiz-review-total small { display: block; }
.iphix-wiz-review-total span { color: var(--ink); font-size: 11px; font-weight: 700; }
.iphix-wiz-review-total small { color: var(--muted); font-size: 9px; font-weight: 450; }
.iphix-wiz-review-total b { color: var(--accent); font: 700 23px 'Space Grotesk',sans-serif; }
.iphix-wiz-review > p { display: flex; align-items: center; gap: 8px; margin: 0; padding-top: 13px; border-top: 1px solid var(--border); color: #166534; font-size: 9.5px; font-weight: 650; }

.iphix-fulfillment-choices { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-bottom: 28px; }
.iphix-fulfillment-choices label { display: grid; grid-template-columns: 42px 1fr; gap: 2px 13px; align-items: center; padding: 18px; border: 1.5px solid var(--border); border-radius: 17px; background: #fff; cursor: pointer; transition: border-color .2s ease, background .2s ease, box-shadow .2s ease; }
.iphix-fulfillment-choices label.selected { border-color: var(--accent); background: #F5F9FF; box-shadow: inset 0 0 0 1px var(--accent); }
.iphix-fulfillment-choices input { position: absolute; opacity: 0; pointer-events: none; }
.iphix-fulfillment-choices label > span { grid-row: 1/3; display: grid; width: 42px; height: 42px; place-items: center; border-radius: 12px; background: #EAF1FF; color: var(--accent); }
.iphix-fulfillment-choices b { color: var(--ink); font-size: 13px; }
.iphix-fulfillment-choices small { color: var(--muted); font-size: 10px; line-height: 1.4; }
.iphix-date-picker { min-width: 0; margin: 0 0 26px; padding: 0; border: 0; }
.iphix-date-picker legend { margin-bottom: 10px; color: var(--ink); font-size: 12.5px; font-weight: 650; }
.iphix-date-rail { display: grid; grid-auto-columns: 92px; grid-auto-flow: column; gap: 9px; overflow-x: auto; padding: 3px 2px 10px; scroll-snap-type: x proximity; scrollbar-width: thin; }
.iphix-date-rail.needs-choice { padding: 7px; outline: 2px solid #FCA5A5; border-radius: 16px; }
.iphix-date-rail label { scroll-snap-align: start; cursor: pointer; }
.iphix-date-rail input { position: absolute; opacity: 0; pointer-events: none; }
.iphix-date-rail label > span { display: grid; min-height: 72px; place-items: center; align-content: center; border: 1.5px solid var(--border); border-radius: 14px; background: #fff; transition: border-color .2s ease, background .2s ease, transform .2s ease; }
.iphix-date-rail label:hover > span { border-color: #93C5FD; transform: translateY(-2px); }
.iphix-date-rail label.selected > span, .iphix-date-rail input:checked + span { border-color: var(--accent); background: #EDF4FF; box-shadow: inset 0 0 0 1px var(--accent); }
.iphix-date-rail small, .iphix-date-rail b { display: block; }
.iphix-date-rail small { color: var(--muted); font-size: 10px; }
.iphix-date-rail b { color: var(--ink); font-size: 13px; }
.iphix-schedule-row { display: grid; grid-template-columns: minmax(260px,.72fr) minmax(0,1.28fr); gap: 20px; align-items: stretch; }
.iphix-schedule-row .iphix-wiz-field { margin: 0; }
.iphix-schedule-note { display: flex; align-items: flex-start; gap: 13px; padding: 17px 18px; border: 1px solid #DBEAFE; border-radius: 15px; background: #F5F9FF; }
.iphix-schedule-note > span { display: grid; width: 38px; height: 38px; flex: none; place-items: center; border-radius: 11px; background: #fff; color: var(--accent); }
.iphix-schedule-note b { color: var(--ink); font-size: 12px; }
.iphix-schedule-note p { margin: 3px 0 0; color: var(--muted); font-size: 10.5px; line-height: 1.5; }

/* ---------- forms (fluent) ---------- */
.iphix-form-shell { padding: 36px; }
.iphix-form-shell .fluentform .ff-el-form-control,
.iphix-contact-form input, .iphix-contact-form select, .iphix-contact-form textarea {
    width: 100%; padding: 14px 18px; border: 1.5px solid var(--border); border-radius: var(--radius-sm);
    font-size: 15px; font-family: 'Inter'; outline: none; box-sizing: border-box; background: #fff;
}
.iphix-contact-form .ff-el-group { margin-bottom: 18px; }
.iphix-contact-form .ff-el-group label { font-weight: 600; font-size: 14px; margin-bottom: 7px; display: block; }
.iphix-contact-form .ff-btn-submit, .iphix-contact-form button[type=submit] {
    background: var(--grad) !important; color: #fff !important; border: 0 !important; border-radius: 999px !important;
    padding: 14px 34px !important; font-weight: 600 !important; font-size: 15px !important; cursor: pointer;
    box-shadow: 0 10px 24px rgba(37, 99, 235, .35);
}

/* ---------- blog ---------- */
.iphix-blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.iphix-post { overflow: hidden; display: flex; flex-direction: column; }
.iphix-post .thumb { display: block; background: var(--bg-alt); }
.iphix-post .thumb img { width: 100%; height: 190px; object-fit: cover; display: block; }
.iphix-post .body { padding: 22px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.iphix-post .meta { font-size: 12.5px; color: var(--muted); display: flex; gap: 12px; }
.iphix-post h3 { font-size: 18px; margin: 0; line-height: 1.3; }
.iphix-post h3 a { color: var(--ink); }
.iphix-post h3 a:hover { color: var(--accent); }
.iphix-post p { margin: 0; color: var(--muted); font-size: 14px; flex: 1; }
.iphix-post .more { font-weight: 600; font-size: 14px; }

/* blog archive + single (Hello theme pages) */
body.blog .site-main article, body.archive .site-main article, body.search .site-main article {
    background: #fff; border: 1px solid var(--border); border-radius: var(--radius);
    box-shadow: var(--shadow-card); margin-bottom: 26px; overflow: hidden; padding: 0;
}
body.blog .site-main, body.archive .site-main, body.single .site-main, body.search .site-main,
body.page-template-default .site-main { max-width: 860px; margin: 0 auto; padding: 70px 24px; }
.iphix-prose { max-width: 760px; margin: 0 auto; font-size: 16.5px; color: var(--ink-soft); }
.iphix-prose h2 { font-size: 26px; margin: 40px 0 14px; }
.iphix-prose h3 { font-size: 21px; margin: 32px 0 12px; }
.iphix-prose img { border-radius: var(--radius); margin: 20px 0; }

/* ---------- WooCommerce skin ---------- */
.woocommerce ul.products li.product {
    background: #fff; border: 1px solid var(--border); border-radius: var(--radius);
    box-shadow: var(--shadow-card); padding: 16px; transition: transform .25s, box-shadow .25s;
}
.woocommerce ul.products li.product:hover { transform: translateY(-4px); box-shadow: var(--shadow-card-hover); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: 'Space Grotesk'; font-size: 16px; color: var(--ink); }
.woocommerce ul.products li.product .price { font-family: 'Space Grotesk'; font-weight: 700; color: var(--accent); }
.woocommerce ul.products li.product .price del { color: var(--muted); font-weight: 400; }
.woocommerce span.onsale {
    background: var(--grad); border-radius: 999px; padding: 4px 12px; min-height: 0; line-height: 1.4; font-size: 12px;
}
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt {
    background: var(--grad); color: #fff; border-radius: 999px; font-weight: 600; border: 0;
    padding: 12px 24px; box-shadow: 0 8px 20px rgba(37, 99, 235, .3);
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover { background: linear-gradient(135deg, #1D4FD7, #17B8D4); color: #fff; }
.woocommerce div.product .product_title { font-family: 'Space Grotesk'; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--accent); font-family: 'Space Grotesk'; font-weight: 700; }
.woocommerce .quantity .qty { border: 1.5px solid var(--border); border-radius: 10px; padding: 8px; }
.woocommerce-message, .woocommerce-info { border-top-color: var(--accent); }
.woocommerce table.shop_table { border-radius: var(--radius-sm); }
.woocommerce-checkout .form-row input.input-text, .woocommerce-checkout .form-row select, .woocommerce-checkout .form-row textarea {
    border: 1.5px solid var(--border); border-radius: var(--radius-sm); padding: 12px 16px;
}
.woocommerce form .form-row input.input-text:focus { border-color: var(--accent); outline: none; }

/* WooCommerce storefront layout. Keep native Woo behavior, replace theme defaults. */
body.woocommerce-shop .site-main,
body.tax-product_cat .site-main,
body.single-product .site-main,
body.woocommerce-cart .site-main,
body.woocommerce-checkout .site-main,
body.woocommerce-account .site-main {
    max-width: var(--site-max); margin: 0 auto; padding: 72px 24px 92px;
}
body.woocommerce-shop .site-main,
body.tax-product_cat .site-main { padding-top: 44px; }
body.woocommerce-shop main#wp--skip-link--target,
body.tax-product_cat main#wp--skip-link--target {
    width: 100%; max-width: var(--site-max); box-sizing: border-box; margin: 0 auto; padding: 44px 24px 92px;
}
.woocommerce-shop .woocommerce-products-header,
.tax-product_cat .woocommerce-products-header { display: none; }
.iphix-shop-hero {
    position: relative; isolation: isolate; overflow: hidden; box-sizing: border-box; width: 100%; max-width: none !important; margin: 0 0 28px; padding: 52px 56px;
    border-radius: 30px; color: #fff;
    background: linear-gradient(130deg, #1D4ED8 0%, #2563EB 52%, #06B6D4 100%);
    box-shadow: 0 30px 72px -34px rgba(37,99,235,.68);
}
.iphix-shop-hero::before,
.iphix-shop-hero::after { content: ""; position: absolute; z-index: -1; border-radius: 50%; filter: blur(18px); pointer-events: none; }
.iphix-shop-hero::before { width: 300px; height: 300px; top: -170px; right: -40px; background: rgba(255,255,255,.2); }
.iphix-shop-hero::after { width: 260px; height: 260px; left: -120px; bottom: -180px; background: rgba(103,232,249,.28); }
.iphix-shop-hero > div { position: relative; }
.iphix-shop-kicker { display: block; margin-bottom: 11px; color: #DBEAFE; font-size: 11px; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
.iphix-shop-hero h1 { margin: 0 0 12px; color: #fff; font-size: clamp(40px,5vw,58px); letter-spacing: -.04em; }
.iphix-shop-hero p { display: flex; align-items: center; gap: 9px; margin: 0; color: #DBEAFE; font-size: 14px; }
.iphix-shop-hero .iphix-icon { font-size: 17px; }
.iphix-shop-toolbar {
    position: sticky; top: 114px; z-index: 40; display: flex; align-items: center; gap: 12px;
    flex-wrap: wrap;
    margin: 0 0 34px; padding: 12px 14px; border: 1px solid rgba(226,232,240,.84); border-radius: 20px;
    background: rgba(255,255,255,.9); box-shadow: 0 18px 44px -30px rgba(30,58,138,.42);
    -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px);
}
.iphix-shop-categories { display: flex; flex: 1 1 auto; align-items: center; gap: 7px; flex-wrap: nowrap; }
.iphix-shop-categories a {
    padding: 8px 14px; border: 1px solid var(--border); border-radius: 999px; color: var(--ink-soft);
    background: #fff; font-size: 12.5px; font-weight: 650; transition: border-color .2s ease, color .2s ease, background .2s ease;
}
.iphix-shop-categories a:hover { border-color: #93C5FD; color: var(--accent); }
.iphix-shop-categories a.active { border-color: var(--accent); background: #EFF6FF; color: #1D4ED8; box-shadow: inset 0 0 0 1px var(--accent); }
.iphix-shop-search { position: relative; flex: 0 0 230px; width: 230px; margin-left: auto; }
.iphix-shop-search .iphix-icon { position: absolute; left: 13px; top: 50%; z-index: 1; color: #94A3B8; font-size: 16px; transform: translateY(-50%); }
.iphix-shop-search input[type="search"] {
    width: 100%; height: 40px; margin: 0; padding: 0 14px 0 40px !important; border: 1px solid var(--border); border-radius: 999px;
    background: #fff; color: var(--ink); font: 500 13px 'Inter',sans-serif; outline: none;
}
.iphix-shop-search input:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(37,99,235,.12); }
.iphix-shop-meta { display: flex; align-items: center; justify-content: flex-end; gap: 12px; margin-left: auto; }
.iphix-shop-toolbar .woocommerce-result-count { width: auto; margin: 0; color: var(--muted); font-size: 12px; white-space: nowrap; }
.iphix-shop-toolbar .woocommerce-ordering { flex: 0 0 auto; margin: 0; }
.iphix-shop-toolbar .woocommerce-ordering select {
    min-width: 158px; height: 40px; margin: 0; padding: 0 34px 0 13px;
    border: 1px solid var(--border); border-radius: 999px; background-color: #fff;
    color: var(--ink-soft); font: 600 12px 'Inter',sans-serif;
}
.iphix-product-category {
    display: block; margin: 1px 2px 7px; color: var(--accent); font-size: 10.5px; font-weight: 750;
    letter-spacing: .12em; text-transform: uppercase;
}
.woocommerce .woocommerce-products-header { margin-bottom: 34px; }
.woocommerce .woocommerce-products-header__title,
.woocommerce-page .entry-title {
    margin: 0; color: var(--ink); font-family: 'Space Grotesk', sans-serif;
    font-size: clamp(36px, 5vw, 56px); letter-spacing: -.035em;
}
.woocommerce .woocommerce-result-count { margin: 14px 0 28px; color: var(--muted); font-size: 13.5px; }
.woocommerce .woocommerce-ordering { margin: 0 0 28px; }
.woocommerce .woocommerce-ordering select {
    min-height: 44px; padding: 0 42px 0 15px; border: 1px solid var(--border);
    border-radius: 999px; background-color: #fff; color: var(--ink-soft); font: 600 13px 'Inter', sans-serif;
}
.woocommerce ul.products {
    display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px; clear: both;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    display: flex; float: none !important; flex-direction: column; width: auto !important;
    margin: 0 !important; padding: 14px 14px 18px;
}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { display: block; color: var(--ink); }
.woocommerce ul.products li.product a img {
    width: 100%; aspect-ratio: 1 / 1; margin: 0 0 17px; padding: 18px;
    border-radius: 14px; background: var(--bg-alt); object-fit: contain;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    min-height: 2.7em; padding: 0; font-size: 16px; line-height: 1.35;
}
.woocommerce ul.products li.product .price { margin: 8px 0 16px; font-size: 17px; }
.woocommerce ul.products li.product .button { align-self: flex-start; margin-top: auto; font-size: 13px; }
.woocommerce ul.products li.product .added_to_cart { margin: 9px 0 0 4px; font-size: 13px; font-weight: 700; }

body.single-product .site-main > .product {
    padding: 34px; border: 1px solid var(--border); border-radius: 24px;
    background: #fff; box-shadow: 0 30px 80px -48px rgba(37, 99, 235, .38);
}
body.single-product .site-main {
    position: relative;
    background-image: radial-gradient(circle at 24% 0%, rgba(37,99,235,.09), transparent 30%), linear-gradient(to right, rgba(11,18,32,.025) 1px, transparent 1px), linear-gradient(to bottom, rgba(11,18,32,.025) 1px, transparent 1px);
    background-size: auto, 56px 56px, 56px 56px;
}
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
    border-radius: 18px; background: var(--bg-alt); overflow: hidden;
}
.woocommerce div.product div.images img { padding: 30px; object-fit: contain; }
.woocommerce div.product .summary { padding: 18px 8px 0; }
.woocommerce div.product .product_title {
    margin-bottom: 14px; color: var(--ink); font-size: clamp(34px, 4.5vw, 48px);
    line-height: 1.06; letter-spacing: -.035em;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price { margin: 0 0 22px; font-size: 27px; }
.woocommerce div.product .woocommerce-product-details__short-description {
    margin-bottom: 26px; color: var(--muted); font-size: 15.5px; line-height: 1.7;
}
.woocommerce div.product form.cart { display: flex; align-items: center; gap: 10px; margin: 0 0 28px; }
.woocommerce div.product form.cart::before,
.woocommerce div.product form.cart::after { display: none; }
.woocommerce div.product form.cart .button { float: none; min-height: 46px; }
.woocommerce div.product .product_meta {
    padding-top: 22px; border-top: 1px solid var(--border); color: var(--muted); font-size: 12.5px; line-height: 1.8;
}
.woocommerce div.product .product_meta a { color: var(--ink-soft); font-weight: 600; }
.iphix-product-assurance {
    display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; margin: 26px 0 0;
    border: 1px solid var(--border); border-radius: 18px; background: var(--bg-alt); overflow: hidden;
}
.iphix-product-assurance > span { position: relative; min-width: 0; padding: 42px 12px 13px; text-align: center; }
.iphix-product-assurance > span + span { border-left: 1px solid var(--border); }
.iphix-product-assurance .iphix-icon { position: absolute; left: 50%; top: 13px; color: var(--accent); font-size: 21px; transform: translateX(-50%); }
.iphix-product-assurance b, .iphix-product-assurance small { display: block; }
.iphix-product-assurance b { color: var(--ink); font-size: 11.5px; }
.iphix-product-assurance small { margin-top: 2px; color: var(--muted); font-size: 9.5px; line-height: 1.35; }
.woocommerce div.product .woocommerce-tabs { clear: both; padding-top: 46px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { margin: 0 0 24px; padding: 0; border-bottom: 1px solid var(--border); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
    margin: 0 5px 0 0; padding: 0; border: 0; border-radius: 0; background: transparent;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    padding: 13px 16px; color: var(--muted); font-size: 13px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    border-bottom: 2px solid var(--accent); color: var(--ink);
}
.woocommerce div.product .woocommerce-tabs .panel { color: var(--ink-soft); line-height: 1.7; }
.woocommerce div.product .woocommerce-tabs .panel h2,
.woocommerce .related.products > h2 {
    color: var(--ink); font-family: 'Space Grotesk', sans-serif; letter-spacing: -.025em;
}
.woocommerce .related.products { clear: both; padding-top: 42px; }
.woocommerce .related.products > h2 { margin: 0 0 24px; font-size: 28px; }
.woocommerce a.button:focus-visible,
.woocommerce button.button:focus-visible,
.woocommerce input.button:focus-visible,
.woocommerce select:focus-visible,
.woocommerce .quantity .qty:focus-visible {
    outline: 3px solid rgba(37, 99, 235, .28); outline-offset: 3px;
}

/* Woo block templates used by the active storefront. */
.woocommerce-shop .wc-block-product-template,
.tax-product_cat .wc-block-product-template,
.single-product .wc-block-product-template {
    display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 22px !important;
}
.woocommerce-shop .wc-block-product-template > .wc-block-product,
.tax-product_cat .wc-block-product-template > .wc-block-product,
.single-product .wc-block-product-template > .wc-block-product {
    position: relative; display: flex; min-width: 0; flex-direction: column; overflow: hidden;
    width: auto !important; max-width: none !important;
    padding: 12px 12px 16px; border: 1px solid #DCE4EE; border-radius: 22px; background: #fff;
    box-shadow: 0 18px 48px -34px rgba(30,58,138,.35); transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease;
}
.woocommerce-shop .wc-block-product-template > .wc-block-product:hover,
.tax-product_cat .wc-block-product-template > .wc-block-product:hover,
.single-product .wc-block-product-template > .wc-block-product:hover { border-color: #BFDBFE; box-shadow: 0 28px 58px -34px rgba(37,99,235,.46); transform: translateY(-4px); }
.wc-block-product .wc-block-components-product-image { position: relative; overflow: hidden; margin: 0 0 15px !important; border-radius: 16px; background: linear-gradient(145deg,#F8FAFC,#F1F5F9); }
.wc-block-product .wc-block-components-product-image a { display: block; }
.wc-block-product .wc-block-components-product-image img { width: 100% !important; aspect-ratio: 1/1; padding: 18px; object-fit: contain !important; mix-blend-mode: multiply; transition: transform .35s cubic-bezier(.16,1,.3,1); }
.wc-block-product:hover .wc-block-components-product-image img { transform: scale(1.045); }
.wc-block-product .wp-block-woocommerce-product-sale-badge { position: absolute; top: 12px; left: 12px; z-index: 2; }
.wc-block-product .wc-block-components-product-sale-badge { padding: 5px 9px; border: 0; border-radius: 999px; background: var(--grad); color: #fff; font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.wc-block-product .iphix-product-category { margin: 0 5px 6px; }
.wc-block-product h3.wp-block-post-title { min-height: 2.8em; margin: 0 5px !important; font: 700 15px/1.4 'Space Grotesk',sans-serif !important; text-align: left !important; }
.wc-block-product h3.wp-block-post-title a { color: var(--ink); }
.wc-block-product h3.wp-block-post-title a:hover { color: var(--accent); }
.iphix-loop-rating { display: flex; align-items: center; gap: 4px; margin: 8px 5px 0; }
.iphix-loop-rating .stars { overflow: hidden; color: #F59E0B; font-size: 10px; letter-spacing: -.07em; white-space: nowrap; }
.iphix-loop-rating b { color: var(--ink); font-size: 10px; }
.iphix-loop-rating small { color: var(--muted); font-size: 9px; }
.wc-block-product .wp-block-woocommerce-product-price { margin: 11px 5px 15px !important; text-align: left !important; }
.wc-block-product .wc-block-components-product-price { color: var(--accent); font: 700 18px 'Space Grotesk',sans-serif; }
.wc-block-product .wc-block-components-product-price del { margin-right: 5px; color: #94A3B8; font-size: 12px; font-weight: 500; }
.wc-block-product .wp-block-woocommerce-product-button { width: auto; margin: auto 5px 0 !important; text-align: left !important; }
.wc-block-product .wc-block-components-product-button__button {
    display: inline-flex; width: 100%; min-height: 42px; align-items: center; justify-content: center;
    margin: 0 !important; padding: 0 16px !important; border: 0 !important; border-radius: 999px !important;
    background: #0B1220 !important; color: #fff !important; font: 700 11.5px 'Inter',sans-serif !important;
    box-shadow: none !important; transition: background .2s ease, transform .2s ease !important;
}
.wc-block-product .wc-block-components-product-button__button:hover { background: #1D4ED8 !important; transform: translateY(-1px); }
.wc-block-product.outofstock .wc-block-components-product-button__button { background: #E2E8F0 !important; color: #64748B !important; }
.wc-block-product .added_to_cart { display: inline-block; margin: 8px 5px 0; color: var(--accent); font-size: 10px; font-weight: 750; }

/* Single product block template. */
body.single-product main#wp--skip-link--target {
    box-sizing: border-box; width: 100%; max-width: var(--site-max); margin: 0 auto; padding: 42px 24px 92px;
}
body.single-product main#wp--skip-link--target > .wp-block-breadcrumbs { margin-bottom: 26px; color: var(--muted); font-size: 11px !important; }
body.single-product main#wp--skip-link--target > .wp-block-breadcrumbs a { color: var(--ink-soft); font-weight: 650; }
body.single-product main#wp--skip-link--target > .wp-block-columns {
    gap: clamp(34px,5vw,68px); align-items: start; margin-bottom: 54px; padding: 34px;
    border: 1px solid #DCE4EE; border-radius: 28px; background: #fff; box-shadow: 0 34px 84px -52px rgba(30,58,138,.42);
}
body.single-product .wp-block-woocommerce-product-image-gallery { position: sticky; top: 142px; overflow: hidden; border-radius: 22px; background: linear-gradient(145deg,#F8FAFC,#EFF3F8); }
body.single-product .woocommerce-product-gallery__wrapper { border-radius: 0 !important; background: transparent !important; }
body.single-product .woocommerce-product-gallery img { box-sizing: border-box; width: 100%; padding: 34px !important; mix-blend-mode: multiply; }
body.single-product main .wp-block-post-title { margin: 4px 0 15px; font-size: clamp(34px,4.2vw,52px); line-height: 1.03; letter-spacing: -.045em; }
body.single-product .wp-block-woocommerce-product-rating { margin-bottom: 16px; }
body.single-product .wc-block-components-product-rating__container { display: flex; align-items: center; gap: 10px; }
body.single-product .wc-block-components-product-rating__stars { color: #F59E0B; }
body.single-product .wc-block-components-product-rating__reviews_count a { color: var(--muted); font-size: 11px; font-weight: 600; }
body.single-product main .wp-block-woocommerce-product-price { margin: 0 0 18px; }
body.single-product main .wp-block-woocommerce-product-price .wc-block-components-product-price { color: var(--accent); font: 700 30px 'Space Grotesk',sans-serif; }
body.single-product .wp-block-post-excerpt { margin: 20px 0; color: var(--muted); font-size: 14.5px; line-height: 1.7; }
body.single-product .wp-block-post-excerpt p { margin: 0; }
body.single-product .wp-block-add-to-cart-form { margin-top: 22px; padding: 20px; border: 1px solid var(--border); border-radius: 17px; background: #F8FAFC; }
body.single-product .wp-block-add-to-cart-form .stock { margin: 0 0 12px; color: #15803D; font-size: 11px; font-weight: 700; }
body.single-product .wp-block-add-to-cart-form form.cart { display: grid; grid-template-columns: 96px minmax(0,1fr); gap: 10px; }
body.single-product .wp-block-add-to-cart-form .quantity .qty { box-sizing: border-box; width: 100%; min-height: 48px; border: 1px solid #CBD5E1; border-radius: 999px; background: #fff; }
body.single-product .wp-block-add-to-cart-form .single_add_to_cart_button { width: 100%; min-height: 48px; justify-content: center; background: var(--grad) !important; }
body.single-product .wp-block-woocommerce-product-meta { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--border); color: var(--muted); font-size: 10px; }
body.single-product .wp-block-woocommerce-product-meta .wp-block-group { flex-wrap: wrap; gap: 12px; }
body.single-product .wp-block-woocommerce-product-details { margin: 0 0 58px; padding: 30px 34px; border: 1px solid var(--border); border-radius: 24px; background: #fff; }
body.single-product .woocommerce-tabs { padding-top: 0 !important; }
body.single-product .woocommerce-tabs .panel { font-size: 14.5px; }
body.single-product .wp-block-woocommerce-related-products { margin-top: 58px; }
body.single-product .wp-block-woocommerce-related-products > h2 { margin-bottom: 24px; font-size: 30px; letter-spacing: -.025em; }

@media (max-width: 1024px) {
    .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .woocommerce-shop .wc-block-product-template,
    .tax-product_cat .wc-block-product-template,
    .single-product .wc-block-product-template { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
}
@media (max-width: 768px) {
    body.woocommerce-shop .site-main,
    body.single-product .site-main,
    body.woocommerce-cart .site-main,
    body.woocommerce-checkout .site-main,
    body.woocommerce-account .site-main { padding: 48px 18px 70px; }
    .iphix-shop-hero { margin-top: -12px; padding: 38px 28px; border-radius: 24px; }
    .iphix-shop-toolbar { position: static; align-items: stretch; flex-direction: column; }
    .iphix-shop-search { order: -1; flex: 0 0 auto; width: 100%; margin-left: 0; }
    .iphix-shop-meta { justify-content: space-between; width: 100%; margin-left: 0; }
    .iphix-shop-toolbar .woocommerce-ordering { float: none; }
    .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
    .woocommerce-shop .wc-block-product-template,
    .tax-product_cat .wc-block-product-template,
    .single-product .wc-block-product-template { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 14px !important; }
    body.single-product main#wp--skip-link--target { padding: 30px 18px 68px; }
    body.single-product main#wp--skip-link--target > .wp-block-columns { display: block; padding: 20px; border-radius: 20px; }
    body.single-product .wp-block-woocommerce-product-image-gallery { position: static; margin-bottom: 26px; }
    body.single-product .wp-block-woocommerce-product-details { padding: 22px; border-radius: 18px; }
    body.single-product .site-main > .product { padding: 20px; border-radius: 18px; }
    .woocommerce div.product div.images,
    .woocommerce div.product div.summary { float: none; width: 100%; }
    .woocommerce div.product .summary { padding: 8px 0 0; }
}
@media (max-width: 480px) {
    .woocommerce .woocommerce-ordering { float: none; }
    .woocommerce .woocommerce-result-count { float: none; margin-bottom: 14px; }
    .woocommerce ul.products { grid-template-columns: 1fr; }
    .woocommerce-shop .wc-block-product-template,
    .tax-product_cat .wc-block-product-template,
    .single-product .wc-block-product-template { grid-template-columns: 1fr !important; }
    .wc-block-product h3.wp-block-post-title { min-height: 0; }
    body.single-product .wp-block-add-to-cart-form form.cart { grid-template-columns: 82px minmax(0,1fr); }
    .woocommerce ul.products li.product .woocommerce-loop-product__title { min-height: 0; }
    .woocommerce div.product form.cart { align-items: stretch; flex-direction: column; }
    .woocommerce div.product form.cart .quantity .qty { width: 100%; }
    .woocommerce div.product form.cart .button { width: 100%; }
    .iphix-shop-hero { padding: 32px 22px; }
    .iphix-shop-kicker { line-height: 1.5; }
    .iphix-shop-categories { flex-wrap: nowrap; margin: 0 -2px; padding-bottom: 4px; overflow-x: auto; scrollbar-width: none; }
    .iphix-shop-categories::-webkit-scrollbar { display: none; }
    .iphix-shop-categories a { white-space: nowrap; }
    .iphix-product-assurance { grid-template-columns: 1fr; }
    .iphix-product-assurance > span { min-height: 66px; padding: 16px 14px 14px 52px; text-align: left; }
    .iphix-product-assurance > span + span { border-top: 1px solid var(--border); border-left: 0; }
    .iphix-product-assurance .iphix-icon { left: 25px; top: 22px; transform: none; }
}

/* ---------- CTA band ---------- */
.iphix-cta-band {
    position: relative; overflow: hidden; border-radius: calc(var(--radius) + 6px);
    background: linear-gradient(120deg, #0A1633 0%, #14337E 55%, #2563EB 100%);
    padding: 64px 56px; color: #fff; text-align: center;
}
.iphix-cta-band::before {
    content: ""; position: absolute; width: 480px; height: 480px; border-radius: 50%;
    background: radial-gradient(circle, rgba(34, 211, 238, .35), transparent 65%);
    top: -220px; right: -120px;
}
.iphix-cta-band h2 { color: #fff; font-size: clamp(26px, 3.6vw, 38px); margin: 0 0 12px; position: relative; }
.iphix-cta-band p { color: #B7C4DE; margin: 0 0 28px; position: relative; }
.iphix-cta-band .btn-gradient { background: #fff; color: var(--accent) !important; position: relative; }

/* ---------- steps / pillars / values ---------- */
.iphix-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; counter-reset: step; }
.iphix-step { padding: 30px 26px; position: relative; }
.iphix-step .step-no {
    display: block; margin-bottom: 13px; color: rgba(11,18,32,.07);
    font-family: 'Space Grotesk',sans-serif; font-size: 48px; font-weight: 700; line-height: 1;
    transition: color .25s ease;
}
.iphix-step:hover .step-no { color: rgba(37,99,235,.16); }
.iphix-step .n {
    width: 46px; height: 46px; border-radius: 14px; background: var(--grad); color: #fff;
    font-family: 'Space Grotesk'; font-weight: 700; font-size: 19px;
    display: flex; align-items: center; justify-content: center; margin-bottom: 18px;
    box-shadow: 0 8px 18px rgba(37, 99, 235, .3);
}
.iphix-step .n .iphix-icon { width: 23px; height: 23px; }
.iphix-step h3 { font-size: 17.5px; margin: 0 0 8px; }
.iphix-step p { margin: 0; color: var(--muted); font-size: 14px; }

.iphix-split { display: grid; grid-template-columns: 1fr 1fr; gap: 54px; align-items: center; }
.iphix-split img { border-radius: var(--radius); box-shadow: var(--shadow-card-hover); }
.iphix-pillars { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.iphix-pillar { padding: 22px; }
.iphix-pillar .ic {
    width: 42px; height: 42px; border-radius: 12px; background: rgba(37, 99, 235, .09); color: var(--accent);
    display: flex; align-items: center; justify-content: center; font-size: 19px; margin-bottom: 12px;
}
.iphix-pillar h4 { margin: 0 0 6px; font-size: 15.5px; }
.iphix-pillar p { margin: 0; color: var(--muted); font-size: 13.5px; }

.iphix-values { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.iphix-value { padding: 30px; }
.iphix-value .ic { width: 48px; height: 48px; border-radius: 14px; background: var(--grad); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 21px; margin-bottom: 16px; }
.iphix-value h3 { font-size: 18px; margin: 0 0 8px; }
.iphix-value p { margin: 0; color: var(--muted); font-size: 14px; }

/* ---------- FAQ ---------- */
.iphix-faq-wrap { max-width: 820px; margin: 0 auto; }
.iphix-faq { max-width: 820px !important; margin-left: auto !important; margin-right: auto !important; }
.iphix-faq .elementor-accordion-item, .elementor-widget-accordion .elementor-accordion-item,
.iphix-faq .e-n-accordion-item, .elementor-widget-n-accordion .e-n-accordion-item {
    border: 1px solid var(--border) !important; border-radius: var(--radius-sm) !important;
    margin-bottom: 12px; overflow: hidden; background: #fff; box-shadow: var(--shadow-card);
}
.iphix-faq .elementor-tab-title, .elementor-widget-accordion .elementor-tab-title { background: #fff !important; padding: 18px 22px !important; }
.iphix-faq .elementor-tab-title .elementor-accordion-title, .elementor-widget-accordion .elementor-accordion-title { font-family: 'Space Grotesk'; font-weight: 600; font-size: 16px; color: var(--ink); }
.iphix-faq .elementor-tab-title.elementor-active, .elementor-widget-accordion .elementor-tab-title.elementor-active { background: var(--bg-alt) !important; }
.iphix-faq .elementor-tab-content, .elementor-widget-accordion .elementor-tab-content { padding: 18px 22px !important; color: var(--ink-soft); font-size: 14.5px; border-top: 1px solid var(--border) !important; }
.iphix-faq .elementor-accordion-icon, .elementor-widget-accordion .elementor-accordion-icon { color: var(--accent); }
details.iphix-faq-item { border: 1px solid var(--border); border-radius: var(--radius-sm); margin-bottom: 12px; background: #fff; box-shadow: var(--shadow-card); overflow: hidden; }
details.iphix-faq-item summary {
    cursor: pointer; list-style: none; padding: 18px 22px; font-family: 'Space Grotesk'; font-weight: 600;
    font-size: 16px; color: var(--ink); display: flex; justify-content: space-between; align-items: center; gap: 14px;
}
details.iphix-faq-item summary::-webkit-details-marker { display: none; }
details.iphix-faq-item summary::after { content: "+"; color: var(--accent); font-size: 22px; font-weight: 400; transition: transform .25s; }
details.iphix-faq-item[open] summary::after { transform: rotate(45deg); }
details.iphix-faq-item .ans { padding: 0 22px 20px; color: var(--ink-soft); font-size: 14.5px; }

/* ---------- contact ---------- */
.iphix-contact-grid { display: grid; grid-template-columns: 1fr 1.15fr; gap: 36px; align-items: start; }
@media (max-width: 900px) { .iphix-contact-grid { grid-template-columns: 1fr; } }
.iphix-contact-map { display: grid; grid-template-columns: .75fr 1.25fr; min-height: 420px; overflow: hidden; margin-top: 34px; border: 1px solid var(--border); border-radius: 26px; background: #fff; box-shadow: var(--shadow-card); }
.iphix-contact-map-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 42px; }
.iphix-contact-map-copy .iphix-eyebrow { margin-bottom: 9px; font-size: 10px; }
.iphix-contact-map-copy h2 { margin: 0 0 13px; font-size: clamp(28px,3.5vw,40px); letter-spacing: -.035em; }
.iphix-contact-map-copy p { margin: 0 0 24px; color: var(--muted); font-size: 14px; }
.iphix-contact-map-copy .btn-ghost { padding: 11px 18px; font-size: 12px; }
.iphix-contact-map-frame { position: relative; min-height: 420px; background: #E8EEF5; }
.iphix-contact-map-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; filter: saturate(.82) contrast(1.04); }
@media (max-width: 900px) {
    .iphix-contact-map { grid-template-columns: 1fr; }
    .iphix-contact-map-frame { min-height: 360px; }
}
@media (max-width: 520px) {
    .iphix-contact-map-copy { padding: 28px 22px; }
    .iphix-contact-map-frame { min-height: 300px; }
}

/* ---------- single post ---------- */
body.single-post .site-main article { background: #fff; border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow-card); padding: 44px; margin-bottom: 26px; }
body.single-post .entry-title, body.blog .entry-title, body.archive .entry-title { font-family: 'Space Grotesk'; letter-spacing: -.02em; }
body.blog .entry-title a, body.archive .entry-title a, body.single-post .entry-title a,
body.blog .entry-title, body.archive .entry-title { color: var(--ink) !important; }
body.blog .entry-title a:hover, body.archive .entry-title a:hover { color: var(--accent) !important; }
.iphix-burger { background: transparent !important; border: 0 !important; box-shadow: none !important; }
body.blog .site-main article, body.archive .site-main article, body.search .site-main article { padding: 26px 30px; }
body.single-post .post-thumbnail img, body.blog .post-thumbnail img { border-radius: var(--radius-sm); }
@media (max-width: 640px) { body.single-post .site-main article { padding: 26px 20px; } }

/* ---------- contact ---------- */
.iphix-info-card { padding: 34px; }
.iphix-info-card .row { display: flex; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--border); }
.iphix-info-card .row:last-child { border-bottom: 0; }
.iphix-info-card .ic { width: 40px; height: 40px; flex: none; border-radius: 12px; background: rgba(37,99,235,.09); color: var(--accent); display: flex; align-items: center; justify-content: center; font-size: 17px; }
.iphix-info-card b { display: block; font-size: 14.5px; }
.iphix-info-card small { color: var(--muted); font-size: 13.5px; }

/* ---------- footer ---------- */
.iphix-footer { position: relative; overflow: hidden; isolation: isolate; margin-top: 0; background: linear-gradient(145deg,#071228 0%,#0B1836 48%,#081631 100%); color: #93A4C7; }
.iphix-footer::before { content: ""; position: absolute; z-index: -2; top: -220px; left: -18%; width: 138%; height: 390px; pointer-events: none; border-radius: 48%; background: radial-gradient(ellipse at 30% 50%,rgba(37,99,235,.62),transparent 42%),radial-gradient(ellipse at 72% 48%,rgba(34,211,238,.34),transparent 38%),radial-gradient(ellipse at 52% 65%,rgba(124,58,237,.35),transparent 43%); filter: blur(28px); opacity: .62; animation: iphix-footer-wave 13s cubic-bezier(.45,0,.55,1) infinite alternate; }
.iphix-footer::after { content: ""; position: absolute; z-index: -1; top: 0; left: -48%; width: 196%; height: 2px; pointer-events: none; background: linear-gradient(90deg,transparent 18%,#2563EB 39%,#22D3EE 50%,#7C3AED 61%,transparent 82%); box-shadow: 0 0 30px 7px rgba(37,99,235,.18); animation: iphix-footer-edge 10s ease-in-out infinite alternate; }
.iphix-footer > .iphix-wrap { position: relative; z-index: 1; }
.iphix-footer-intro { display: flex; align-items: flex-end; justify-content: space-between; gap: 34px; padding: 58px 0 42px; border-bottom: 1px solid rgba(255,255,255,.12); }
.iphix-footer-eyebrow { display: block; margin-bottom: 12px; color: #67E8F9; font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.iphix-footer-intro h2 { max-width: 720px; margin: 0; color: #fff; font-size: clamp(29px,3.7vw,48px); line-height: 1.04; letter-spacing: -.045em; text-wrap: balance; }
.iphix-footer-intro p { max-width: 620px; margin: 14px 0 0; color: #B5C4DF; font-size: 14px; line-height: 1.6; }
.iphix-footer-actions { display: flex; flex: none; align-items: center; gap: 12px; }
.iphix-footer-actions .btn-gradient { min-height: 52px; box-sizing: border-box; white-space: nowrap; }
.iphix-footer-directions { display: inline-flex; min-height: 52px; box-sizing: border-box; align-items: center; gap: 9px; padding: 0 22px; border: 1px solid rgba(255,255,255,.24); border-radius: 999px; color: #F8FAFC !important; font-weight: 700; white-space: nowrap; transition: border-color .2s ease, background .2s ease, transform .2s ease; }
.iphix-footer-directions:hover { border-color: rgba(255,255,255,.62); background: rgba(255,255,255,.07); transform: translateY(-2px); }
.iphix-footer .main { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 40px; padding: 50px 0 48px; }
.iphix-footer h4 { color: #fff; font-size: 15px; margin: 0 0 18px; font-family: 'Space Grotesk'; }
.iphix-footer ul { list-style: none; margin: 0; padding: 0; }
.iphix-footer ul li { margin-bottom: 11px; }
.iphix-footer a { color: #93A4C7; font-size: 14px; }
.iphix-footer a:hover { color: #fff; }
.iphix-footer .brand p { font-size: 14px; margin: 16px 0 0; max-width: 280px; }
.iphix-footer .brand .iphix-logo { overflow: hidden; padding: 6px 9px; border-radius: 12px; background: #fff; box-shadow: 0 12px 32px rgba(3,10,25,.22); }
.iphix-footer .brand .iphix-logo-image { width: 122px; }
.iphix-footer-proof { display: grid; gap: 9px; margin-top: 22px; }
.iphix-footer-proof span { display: flex; align-items: center; gap: 8px; color: #C4D2EF; font-size: 11px; }
.iphix-footer-proof .iphix-icon { width: 15px; height: 15px; color: #67E8F9; }
.iphix-news { display: flex; margin-top: 6px; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; overflow: hidden; }
.iphix-news input { flex: 1; background: transparent; border: 0; padding: 13px 18px; color: #fff; font-size: 14px; outline: none; min-width: 0; }
.iphix-news input::placeholder { color: #6B7DA6; }
.iphix-news button { background: var(--grad); color: #fff; border: 0; padding: 0 22px; font-weight: 600; font-size: 14px; cursor: pointer; }
.iphix-footer .addr { border-top: 1px solid rgba(255,255,255,.1); padding: 22px 0; font-size: 13.5px; display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.iphix-pay { display: flex; gap: 8px; }
.iphix-pay span {
    border: 1px solid rgba(255,255,255,.18); border-radius: 7px; padding: 3px 10px;
    font-size: 11px; font-weight: 600; color: #C4D2EF; letter-spacing: .03em;
}
.iphix-footer .copy { border-top: 1px solid rgba(255,255,255,.1); padding: 20px 0 26px; font-size: 13px; color: #6B7DA6; display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.iphix-footer .iphix-legal-links { display: inline-flex; gap: 16px; flex-wrap: wrap; }
.iphix-footer .iphix-legal-links a { color: #6B7DA6; }
.iphix-footer .iphix-legal-links a:hover { color: #fff; }
@keyframes iphix-footer-wave { from { transform: translate3d(-4%,0,0) rotate(-2deg) scale(.96); } to { transform: translate3d(7%,22px,0) rotate(2deg) scale(1.06); } }
@keyframes iphix-footer-edge { from { transform: translate3d(-13%,0,0); } to { transform: translate3d(13%,0,0); } }

/* ---------- reveal on scroll ---------- */
.reveal { opacity: 1; transform: none; transition: opacity .7s ease, transform .7s ease; }
.reveal.reveal-pending { opacity: 0; transform: translateY(26px); }
.reveal.revealed { opacity: 1; transform: none; }
.iphix-commerce-stage-products .iphix-commerce-product { opacity: 1; transform: none; }
.iphix-commerce-stage-products.iphix-motion-pending .iphix-commerce-product {
    opacity: 0; transform: translateY(14px);
    transition: opacity 560ms cubic-bezier(.23,1,.32,1), transform 560ms cubic-bezier(.23,1,.32,1);
    transition-delay: var(--iphix-stagger, 0ms);
}
.iphix-commerce-stage-products.iphix-motion-ready .iphix-commerce-product { opacity: 1; transform: none; }
@media (max-width: 767px) {
    .iphix-commerce-stage-products .iphix-commerce-product { transform: translateY(8px); }
}
@media (prefers-reduced-motion: reduce) {
    .reveal, .reveal.reveal-pending { opacity: 1; transform: none; transition: none; }
    .iphix-marquee-track { animation: none; }
    .iphix-hero-ticket { animation: none; }
    .iphix-ticket-progress span::after { display: none; animation: none; }
    .iphix-commerce-stage-products .iphix-commerce-product,
    .iphix-commerce-stage-products.iphix-motion-pending .iphix-commerce-product {
        opacity: 1; transform: none; transition: none; transition-delay: 0ms;
    }
    .iphix-commerce-stage-products.iphix-motion-ready .iphix-commerce-product { opacity: 1; }
    .iphix-commerce-product-media img, .iphix-delivery-steps > a { transition: none; }
    .iphix-hero-slide, .iphix-hero-slide > img, .iphix-hero-slide.active > img,
    .iphix-hero-aurora, .iphix-hero-focus-line, .iphix-hero-lens, .iphix-hero-lens i, .iphix-hero-slider-copy > *, .iphix-hero-slider .btn-gradient::after,
    .iphix-hero-slider-dots button[aria-selected="true"]::after,
    .iphix-topbar::before, .iphix-footer::before, .iphix-footer::after { animation: none !important; transition: none; transform: none; }
    .iphix-hero-aurora { opacity: .42; }
    .iphix-hero-focus-line { display: none; }
    .iphix-hero-lens { opacity: .24; transform: translate3d(0,-50%,0) scale(1); }
    .iphix-google-reviews { overflow-x: auto; mask-image: none; -webkit-mask-image: none; }
    .iphix-google-review-track { animation: none; will-change: auto; }
    .iphix-google-review-group[aria-hidden="true"] { display: none; }
}

/* ---------- responsive ---------- */
@media (max-width: 1024px) {
    .iphix-account-actions { display: none; }
    .iphix-header .iphix-wrap { gap: 9px; }
    .iphix-nav-list > * + *::before { margin: 0 3px; }
    .iphix-menu-main-link, .iphix-nav-direct { padding-right: 6px; padding-left: 6px; font-size: 11px; }
    .iphix-menu-trigger { width: 26px; padding: 0 3px 0 0; }
    .iphix-header .btn-gradient { padding-right: 17px; padding-left: 17px; }
    .iphix-hero-grid { grid-template-columns: 1fr; }
    .iphix-hero-visual { min-height: 400px; }
    .iphix-home-hub { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); }
    .iphix-home-hub-visual { padding: 34px; }
    .iphix-home-hub-routes { padding: 30px; }
    .iphix-stats, .iphix-steps, .iphix-products { grid-template-columns: repeat(2, 1fr); }
    .iphix-cats, .iphix-reviews-grid, .iphix-blog-grid, .iphix-values { grid-template-columns: repeat(2, 1fr); }
    .iphix-footer .main { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 900px) {
    .iphix-commerce-stage, .iphix-delivery-story { grid-template-columns: minmax(0,1fr); }
    .iphix-commerce-stage-copy { padding: 48px; }
    .iphix-commerce-stage-products { min-height: 430px; }
    .iphix-delivery-story-visual { min-height: 340px; }
}
@media (max-width: 768px) {
    .elementor .iphix-section { padding: 60px 0 !important; }
    .elementor .iphix-stats-section { padding: 20px 0 26px !important; }
    .elementor .iphix-track-section { padding: 44px 0 28px !important; }
    .elementor .iphix-commerce-section { padding: 44px 0 54px !important; }
    .elementor .iphix-delivery-section { padding: 44px 0 !important; }
    .iphix-wide-wrap { padding: 0 16px; }
    .iphix-commerce-stage, .iphix-delivery-story { border-radius: 20px; }
    .iphix-commerce-stage-copy { padding: 35px 24px; }
    .iphix-commerce-stage-copy h2 { font-size: 38px; }
    .iphix-commerce-stage-copy > p, .iphix-delivery-story-copy > p { font-size: 14px; }
    .iphix-commerce-stage-products { grid-template-columns: minmax(0,1fr); min-height: 0; padding: 16px; }
    .iphix-commerce-product.is-featured .iphix-commerce-product-media { min-height: 250px; }
    .iphix-commerce-product-stack { grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: none; }
    .iphix-commerce-product-stack .iphix-commerce-product { grid-template-columns: minmax(0,1fr); grid-template-rows: 145px auto; }
    .iphix-commerce-product-stack .iphix-commerce-product > span:last-child { border-top: 1px solid #E2E8F0; border-left: 0; }
    .iphix-commerce-product-media { padding: 16px; }
    .iphix-commerce-section .iphix-products { margin-top: 26px; }
    .iphix-commerce-shop-all { margin-top: 26px; }
    .iphix-delivery-story-visual { min-height: 280px; padding: 16px; }
    .iphix-delivery-story-copy { padding: 34px 24px; }
    .iphix-delivery-story-copy h2 { font-size: 34px; }
    .iphix-topbar .iphix-wrap { min-height: 36px; justify-content: center; flex-wrap: nowrap; }
    .iphix-topbar .iphix-wrap > div:first-child,
    .iphix-topbar .iphix-wrap > div:last-child span:last-child { display: none; }
    .iphix-nav {
        display: none; position: absolute; top: 78px; left: 0; right: 0;
        min-height: calc(100dvh - 110px); max-height: calc(100dvh - 110px); overflow-y: auto;
        background: #fff; border-bottom: 1px solid var(--border); padding: 14px 24px 20px;
        box-shadow: 0 24px 40px rgba(11, 18, 32, .1);
    }
    .iphix-nav.open { display: block; }
    .iphix-nav-list { display: block; }
    .iphix-menu-item, .iphix-nav-segment { display: block; border-bottom: 1px solid var(--border); }
    .iphix-nav-list > * + *::before { display: none; }
    .iphix-menu-control { display: flex; width: 100%; border-radius: 0; }
    .iphix-menu-main-link { min-height: 54px; flex: 1; padding: 0 4px; font-size: 13px; }
    .iphix-nav-direct { width: 100%; min-height: 54px; box-sizing: border-box; padding: 0 4px; border-radius: 0; font-size: 13px; }
    .iphix-menu-trigger { width: 48px; min-height: 54px; padding: 0 4px; border-radius: 0; }
    .iphix-mega { position: static; padding: 0 0 14px; border: 0; border-radius: 0; box-shadow: none; animation: none; }
    .iphix-mega-head { padding: 8px 3px 11px; }
    .iphix-mega-grid, .iphix-mega-grid.repair, .iphix-mega-grid.services, .iphix-mega-grid.about, .iphix-mega-grid.shop, .iphix-mega-grid.pricing { grid-template-columns: 1fr; gap: 12px; padding-top: 12px; }
    .iphix-mega-devices { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .iphix-mega-proof { grid-template-columns: 1fr; }
    .iphix-mega-shop-products { grid-template-columns: 1fr; }
    .iphix-mega-feature { min-height: 160px; }
    .iphix-mega-product { grid-template-columns: 90px 1fr; }
    .iphix-mega-product img { height: 90px; }
    .iphix-mega-product > span { align-content: center; border-top: 0; border-left: 1px solid var(--border); }
    .iphix-burger { display: block; }
    .iphix-header .btn-gradient { display: none; }
    .iphix-mobile-actions {
        padding: 20px 0 2px; margin-top: 12px; border-top: 1px solid var(--border); background: #fff;
    }
    .iphix-nav.open .iphix-mobile-actions { display: grid; gap: 12px; }
    .iphix-mobile-actions > .btn-gradient { display: inline-flex; justify-content: center; width: 100%; box-sizing: border-box; }
    .iphix-mobile-auth { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
    .iphix-mobile-auth .iphix-signin { border: 1px solid var(--border); }
    .iphix-mobile-account { display: flex; align-items: center; gap: 10px; color: var(--ink); font-weight: 600; }
    body.iphix-menu-open { overflow: hidden; }
    .iphix-topbar .iphix-wrap { justify-content: center; text-align: center; }
    .iphix-hero-slider, .iphix-hero-slider-content { min-height: 610px; }
    .iphix-hero-slide > img { object-position: 62% center; }
    .iphix-hero-scrim { background: linear-gradient(90deg,rgba(6,15,35,.88),rgba(6,15,35,.58)),linear-gradient(0deg,rgba(6,15,35,.72),transparent 62%); }
    .iphix-hero-slider-copy { width: min(620px,86vw); padding: 54px 0 138px; }
    .iphix-hero-slider h1 { font-size: clamp(43px,9vw,62px); }
    .iphix-hero-slider-copy > p { font-size: 16px; }
    .iphix-google-reviews { grid-auto-columns: minmax(280px,72%); }
    .iphix-google-review { width: min(78vw,360px); }
    .iphix-footer-intro { align-items: flex-start; flex-direction: column; padding: 48px 0 38px; }
    .iphix-footer-actions { flex-wrap: wrap; }
    .iphix-fulfillment-choices, .iphix-schedule-row { grid-template-columns: 1fr; }
    .iphix-hero { padding: 68px 0 72px; }
    .iphix-hero-grid { display: block; }
    .iphix-hero h1 { font-size: clamp(43px, 12.5vw, 58px); }
    .iphix-hero .sub { font-size: 17px; }
    .iphix-hero-visual { display: none; }
    .iphix-hero .trust { gap: 9px; }
    .iphix-home-hub { grid-template-columns: 1fr; }
    .iphix-home-hub-visual { min-height: 330px; }
    .iphix-home-hub-visual img { width: 180px; max-height: 190px; }
    .iphix-split { grid-template-columns: 1fr; gap: 34px; }
    .iphix-pop { grid-template-columns: 1fr; }
    .iphix-issues { grid-template-columns: 1fr; }
    .iphix-wizard { border-radius: 22px; }
    .iphix-wiz-intro, .iphix-wiz-pane { padding-right: 22px; padding-left: 22px; }
    .iphix-wiz-steps { padding: 0 14px; }
    .iphix-device-choices { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .iphix-device-choice { grid-template-columns: 58px minmax(0,1fr); }
    .iphix-device-choice-image { width: 58px; height: 58px; }
    .iphix-device-choice-image img { width: 49px; height: 49px; }
    .iphix-device-choice > .iphix-icon { display: none; }
    .iphix-model-picker, .iphix-wiz-details-grid { grid-template-columns: 1fr; }
    .iphix-wiz-review { position: static; }
    .iphix-cta-band { padding: 44px 26px; }
    .iphix-track-form { flex-direction: column; }
}
@media (max-width: 480px) {
    /* Mobile home pass: keep the first viewport compact, preserve 44px tap
       targets, and prevent the fixed AI launcher from covering primary CTAs. */
    .iphix-header .iphix-wrap { height: 72px; padding-right: 14px; padding-left: 18px; }
    .iphix-header .iphix-logo-image { width: 112px; }
    .iphix-nav {
        top: 72px; min-height: calc(100dvh - 108px); max-height: calc(100dvh - 108px);
        padding-right: 18px; padding-left: 18px;
    }
    .iphix-burger { width: 44px; height: 44px; padding: 8px; }
    .iphix-cart { min-width: 44px; min-height: 44px; box-sizing: border-box; align-items: center; justify-content: center; }
    .iphix-hero { padding: 44px 0 54px; }
    .iphix-hero-slider, .iphix-hero-slider-content { min-height: 590px; }
    .iphix-hero-slide > img { object-position: 62% center; }
    .iphix-hero-slider-copy { width: 100%; padding: 44px 0 170px; }
    .iphix-hero-place { margin-bottom: 16px; font-size: 10px; }
    .iphix-hero-slider h1 { max-width: 340px; margin-bottom: 16px; font-size: clamp(39px,11vw,47px); line-height: 1.02; }
    .iphix-hero-slider-copy > p { max-width: 330px; margin-bottom: 23px; font-size: 14.5px; line-height: 1.5; }
    .iphix-hero-slider .ctas { width: 100%; gap: 9px; }
    .iphix-hero-slider .ctas a { min-height: 49px; box-sizing: border-box; justify-content: center; padding-right: 20px; padding-left: 20px; font-size: 13px; }
    .iphix-hero-slider-bar { bottom: 18px; align-items: flex-end; }
    .iphix-hero-google { min-height: 46px; max-width: 205px; box-sizing: border-box; }
    .iphix-hero-google .stars { display: none; }
    .iphix-hero-google b { font-size: 12px; }
    .iphix-hero-google small { overflow: hidden; font-size: 8.5px; text-overflow: ellipsis; white-space: nowrap; }
    .iphix-hero-controls { gap: 7px; }
    .iphix-hero-controls > button { width: 38px; height: 38px; }
    .iphix-hero-slider-dots { display: none; }
    .iphix-photo-credit { right: 10px; top: 10px; max-width: 220px; }
    .iphix-hero-kicker { margin-bottom: 18px; padding: 7px 12px; }
    .iphix-hero h1 {
        margin-bottom: 18px; font-size: clamp(38px,10.4vw,42px); line-height: 1.02;
        text-wrap: balance;
    }
    .iphix-rotator { min-height: 1.08em; }
    .iphix-hero .sub { margin-bottom: 24px; font-size: 15.5px; line-height: 1.6; }
    .iphix-hero .ctas { gap: 10px; }
    .iphix-hero .ctas a { min-height: 50px; box-sizing: border-box; }
    .iphix-hero .trust { gap: 8px; margin-top: 18px; font-size: 11px; }
    .iphix-hero .trust span { min-height: 40px; box-sizing: border-box; padding: 8px 10px; }
    .iphix-steps, .iphix-products, .iphix-cats,
    .iphix-reviews-grid, .iphix-blog-grid, .iphix-values, .iphix-pillars { grid-template-columns: 1fr; }
    .iphix-stats { grid-template-columns: repeat(2,1fr); }
    .iphix-stat { padding: 24px 8px; }
    .iphix-stat:nth-child(3) { border-left: 0; }
    .iphix-stat:nth-child(n+3) { border-top: 1px solid rgba(226,232,240,.82); }
    .iphix-hero-kicker { font-size: 11px; line-height: 1.4; }
    .iphix-hero .ctas { width: 100%; }
    .iphix-hero .ctas a { justify-content: center; width: 100%; }
    .iphix-hero .trust span { padding: 8px 10px; }
    .elementor .iphix-home-hub-section { padding-top: 32px !important; padding-bottom: 32px !important; }
    .iphix-home-hub { border-radius: 19px; }
    .iphix-home-hub-visual { min-height: 310px; padding: 27px 22px; }
    .iphix-home-hub-visual h2 { max-width: 300px; font-size: 34px; text-wrap: balance; }
    .iphix-home-hub-visual p { max-width: 180px; }
    .iphix-home-hub-visual img { right: -8px; bottom: -20px; width: 142px; max-height: 150px; }
    .iphix-home-hub-routes { padding: 26px 16px; }
    .iphix-home-hub-routes > h3 { padding: 0 8px; font-size: 20px; }
    .iphix-home-hub-routes > a { grid-template-columns: 40px minmax(0,1fr) 15px; min-height: 82px; padding-right: 8px; padding-left: 8px; }
    .iphix-home-hub-routes > a > span { width: 40px; height: 40px; }
    .iphix-home-hub-links a, .iphix-commerce-actions > a:not(.btn-gradient) {
        display: inline-flex; min-height: 44px; align-items: center;
    }
    .iphix-commerce-facts { grid-template-columns: minmax(0,1fr); }
    .iphix-commerce-actions { align-items: stretch; flex-direction: column; }
    .iphix-commerce-actions .btn-gradient { justify-content: center; }
    .iphix-commerce-product > span:last-child { padding: 16px; }
    .iphix-commerce-product b { font-size: 13px; }
    .iphix-commerce-product-stack .iphix-commerce-product { grid-template-rows: 128px auto; }
    .iphix-commerce-stage-copy h2, .iphix-delivery-story-copy h2, .iphix-h2 { text-wrap: balance; }
    .iphix-delivery-steps > a { grid-template-columns: 30px minmax(0,1fr) 14px; gap: 10px; }
    .iphix-footer-intro { gap: 26px; padding: 42px 0 34px; }
    .iphix-footer-intro h2 { font-size: 32px; }
    .iphix-footer-actions { width: 100%; align-items: stretch; flex-direction: column; }
    .iphix-footer-actions .btn-gradient, .iphix-footer-directions { justify-content: center; width: 100%; }
    .iphix-footer .main { grid-template-columns: 1fr; gap: 30px; padding: 44px 0 36px; }
    .iphix-marquee .iphix-review { width: 290px; }
    .iphix-stat .num { font-size: 36px; }
    .iphix-wiz-steps .st { min-height: 62px; font-size: 10px; }
    .iphix-wiz-steps .st i { width: 24px; height: 24px; }
    .iphix-wiz-steps .st span { display: none; }
    .iphix-fulfillment-choices label { padding: 15px; }
    .iphix-date-rail { margin-right: -22px; }
    .iphix-google-proof-head { align-items: flex-start; padding: 22px 18px; }
    .iphix-google-proof-head > div { gap: 10px; }
    .iphix-google-proof-head h2 { font-size: 20px; }
    .iphix-google-proof-head p { font-size: 10px; }
    .iphix-google-score { display: block; text-align: right; }
    .iphix-google-score > span { display: block; font-size: 10px; }
    .iphix-google-reviews { grid-auto-columns: 86%; }
    .iphix-google-review { width: 84vw; max-width: 330px; padding: 23px 20px; }
    .iphix-google-actions { justify-content: stretch; padding: 15px 18px; }
    .iphix-google-actions .btn-ghost { justify-content: center; width: 100%; }
    .iphix-device-choices { grid-template-columns: 1fr; }
    .iphix-device-choice { grid-template-columns: 64px minmax(0,1fr) 16px; }
    .iphix-device-choice > .iphix-icon { display: block; }
    .iphix-wiz-nav { align-items: stretch; flex-direction: column-reverse; }
    .iphix-wiz-nav > span:empty { display: none; }
    .iphix-wiz-nav .btn-gradient, .iphix-wiz-nav .btn-ghost { width: 100%; justify-content: center; }
    .iphix-footer li a { display: inline-flex; min-height: 44px; align-items: center; }
    .iphix-assistant { bottom: max(14px, env(safe-area-inset-bottom)); }
    .iphix-assistant-launcher { width: 54px; min-width: 54px; height: 54px; padding: 0; }
    .iphix-assistant-launcher-icon { width: 42px; height: 42px; }
    .iphix-assistant-launcher > span:last-child {
        position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
        overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
    }
}

/* ==================================================================
 * Single blog post
 * ================================================================ */
.iphix-article-wrap { display: block; }
.iphix-article-hero { padding: 56px 0 28px; background: linear-gradient(180deg, rgba(37,99,235,.04), rgba(34,211,238,0) 60%); }
.iphix-article-hero-inner { max-width: 820px; }
.iphix-article-tag {
    display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .08em;
    text-transform: uppercase; color: var(--accent); background: rgba(37,99,235,.09);
    padding: 6px 13px; border-radius: 999px; margin-bottom: 22px;
}
.iphix-article-title {
    font-family: 'Space Grotesk', sans-serif; font-weight: 700;
    font-size: clamp(32px, 5vw, 52px); line-height: 1.1; letter-spacing: -.02em;
    color: var(--ink); margin: 0 0 24px;
}
.iphix-article-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; color: var(--muted); font-size: 14.5px; }
.iphix-author-chip { display: inline-flex; align-items: center; gap: 10px; }
.iphix-author-chip b { display: block; color: var(--ink); font-size: 14.5px; line-height: 1.2; }
.iphix-author-chip small { display: block; color: var(--muted); font-size: 12.5px; }
.iphix-avatar {
    width: 38px; height: 38px; border-radius: 50%;
    background: linear-gradient(135deg, var(--accent), var(--accent2));
    color: #fff; font-weight: 700; font-size: 16px;
    display: inline-flex; align-items: center; justify-content: center;
}
.iphix-meta-dot { color: var(--border); }

.iphix-article-cover { margin: 8px 0 48px; border-radius: 20px; overflow: hidden; box-shadow: 0 24px 60px -18px rgba(30,58,138,.22); }
.iphix-article-cover img { width: 100%; height: auto; display: block; max-height: 520px; object-fit: cover; }

.iphix-article-body { max-width: 760px; font-family: 'Inter', sans-serif; font-size: 18px; line-height: 1.78; color: var(--ink-soft); padding-bottom: 32px; }
.iphix-article-body::after { content: ''; display: block; clear: both; }
.iphix-article-body > * { margin: 0 0 1.4em; }
.iphix-article-body > *:first-child { margin-top: 0; }
.iphix-article-body p { margin: 0 0 1.4em; }
.iphix-article-body h2 {
    font-family: 'Space Grotesk', sans-serif; font-weight: 700;
    font-size: clamp(24px, 3vw, 30px); line-height: 1.25; letter-spacing: -.015em;
    color: var(--ink); margin: 2em 0 .8em;
}
.iphix-article-body h3 {
    font-family: 'Space Grotesk', sans-serif; font-weight: 600;
    font-size: 22px; color: var(--ink); margin: 1.6em 0 .6em;
}
.iphix-article-body a { color: var(--accent); text-decoration: underline; text-decoration-color: rgba(37,99,235,.3); text-underline-offset: 3px; }
.iphix-article-body a:hover { text-decoration-color: var(--accent); }
.iphix-article-body strong, .iphix-article-body b { color: var(--ink); font-weight: 600; }
.iphix-article-body ul, .iphix-article-body ol { margin: 0 0 1.4em; padding-left: 1.4em; }
.iphix-article-body li { margin: 0 0 .5em; }
.iphix-article-body blockquote {
    margin: 1.8em 0; padding: 18px 26px; border-left: 4px solid var(--accent);
    background: var(--bg-alt); border-radius: 0 12px 12px 0;
    font-size: 20px; font-style: italic; color: var(--ink);
}
.iphix-article-body img { border-radius: 14px; margin: 1.6em 0; }
.iphix-article-body figure { margin: 1.8em 0; }
.iphix-article-body figcaption { text-align: center; font-size: 14px; color: var(--muted); margin-top: 8px; }
.iphix-article-body code, .iphix-article-body pre {
    font-family: 'SF Mono', 'JetBrains Mono', monospace; font-size: 15px;
    background: var(--bg-alt); border-radius: 8px;
}
.iphix-article-body code { padding: 2px 7px; }
.iphix-article-body pre { padding: 18px 20px; overflow-x: auto; }
.iphix-article-body hr { border: none; border-top: 1px solid var(--border); margin: 2.4em 0; }

.iphix-article-related { padding: 64px 0; }
.iphix-article-related .iphix-blog-grid { grid-template-columns: repeat(3, 1fr); margin-top: 32px; }

@media (max-width: 768px) {
    .iphix-article-hero { padding: 36px 0 20px; }
    .iphix-article-body { font-size: 17px; line-height: 1.72; }
    .iphix-article-cover { margin: 0 0 32px; border-radius: 14px; }
    .iphix-article-cover img { max-height: 340px; }
    .iphix-article-related .iphix-blog-grid { grid-template-columns: 1fr; }
}

/* ==================================================================
 * Single device repair pricing
 * ================================================================ */
.iphix-device-page { display: block; background: var(--bg); }
.iphix-device-hero {
    overflow: hidden;
    background:
        radial-gradient(620px 360px at 92% 8%, rgba(34,211,238,.16), transparent 68%),
        linear-gradient(180deg, rgba(37,99,235,.055), rgba(255,255,255,0));
    padding: 66px 0 78px;
}
.iphix-device-hero-grid {
    display: grid; grid-template-columns: minmax(0,.88fr) minmax(420px,1.12fr);
    gap: 64px; align-items: center;
}
.iphix-device-breadcrumb { display: flex; align-items: center; gap: 9px; margin-bottom: 28px; color: var(--muted); font-size: 13px; }
.iphix-device-breadcrumb a { color: var(--ink-soft); font-weight: 600; }
.iphix-device-breadcrumb a:hover { color: var(--accent); }
.iphix-device-kicker {
    margin: 0 0 12px; color: var(--accent); font-size: 13px; font-weight: 700;
    letter-spacing: .08em; text-transform: uppercase;
}
.iphix-device-hero h1 { margin: 0 0 18px; font-size: clamp(40px,5vw,62px); letter-spacing: -.035em; }
.iphix-device-lede { max-width: 520px; margin: 0 0 30px; color: var(--muted); font-size: 18px; line-height: 1.65; }
.iphix-device-actions { display: flex; flex-wrap: wrap; gap: 12px; }

.iphix-device-visual {
    position: relative; min-height: 470px; border: 1px solid rgba(37,99,235,.14);
    border-radius: 24px; background: rgba(255,255,255,.74);
    box-shadow: 0 32px 80px -34px rgba(37,99,235,.42);
}
.iphix-device-visual::before {
    content: ""; position: absolute; inset: 10% 16% 22%; border-radius: 50%;
    background: radial-gradient(circle, rgba(34,211,238,.26), rgba(37,99,235,.08) 44%, transparent 70%);
    filter: blur(8px); pointer-events: none;
}
.iphix-device-image { position: relative; height: 370px; display: grid; place-items: center; padding: 38px 46px 16px; }
.iphix-device-image img { max-width: 84%; max-height: 330px; object-fit: contain; filter: drop-shadow(0 24px 28px rgba(30,58,138,.2)); }
.iphix-device-summary {
    position: absolute; left: 24px; right: 24px; bottom: 24px; display: grid;
    grid-template-columns: repeat(3,1fr); margin: 0; padding: 18px 20px;
    border: 1px solid rgba(226,232,240,.9); border-radius: 16px;
    background: rgba(255,255,255,.92); box-shadow: var(--shadow-card);
    -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
}
.iphix-device-summary div { padding: 0 18px; }
.iphix-device-summary div + div { border-left: 1px solid var(--border); }
.iphix-device-summary dt { color: var(--muted); font-size: 11px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.iphix-device-summary dd { margin: 4px 0 0; color: var(--ink); font-family: 'Space Grotesk',sans-serif; font-size: 19px; font-weight: 700; }

.iphix-device-section-head { max-width: 690px; margin-bottom: 34px; }
.iphix-device-section-head .iphix-sub { margin-bottom: 0; }
.iphix-device-popular { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin-bottom: 54px; }
.iphix-device-popular-card {
    display: flex; justify-content: space-between; gap: 28px; min-height: 210px; padding: 30px;
    border: 1px solid rgba(37,99,235,.17); border-radius: var(--radius);
    background: linear-gradient(145deg, rgba(37,99,235,.075), rgba(34,211,238,.045) 62%, #fff);
    box-shadow: var(--shadow-card);
}
.iphix-device-popular-label {
    display: inline-block; margin-bottom: 12px; color: var(--accent); font-size: 11px;
    font-weight: 700; letter-spacing: .07em; text-transform: uppercase;
}
.iphix-device-popular-card h3 { margin: 0 0 8px; font-size: 23px; }
.iphix-device-popular-card p { max-width: 320px; margin: 0; color: var(--muted); font-size: 14.5px; }
.iphix-device-popular-action { display: flex; flex-direction: column; align-items: flex-end; justify-content: space-between; flex: none; }
.iphix-device-popular-action strong { color: var(--ink); font-family: 'Space Grotesk',sans-serif; font-size: 32px; }
.iphix-device-popular-action a { font-size: 14px; font-weight: 700; white-space: nowrap; }
.iphix-device-popular-action a::after { content: "  →"; }

.iphix-device-repair-groups { display: grid; grid-template-columns: 1.08fr .92fr; gap: 20px; }
.iphix-device-repair-group { padding: 28px; border: 1px solid var(--border); border-radius: var(--radius); background: #fff; }
.iphix-device-repair-group:nth-child(3) { grid-column: 1 / -1; }
.iphix-device-repair-group:nth-child(3) .iphix-device-repair-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0 24px; }
.iphix-device-repair-group h3 { margin: 0 0 14px; font-size: 19px; }
.iphix-device-repair-row {
    display: flex; align-items: center; justify-content: space-between; gap: 18px;
    padding: 15px 4px; color: var(--ink); border-top: 1px solid var(--border);
    transition: color .2s ease, transform .2s ease;
}
.iphix-device-repair-row:hover { color: var(--accent); transform: translateX(3px); }
.iphix-device-repair-row span { min-width: 0; }
.iphix-device-repair-row b { display: block; font-size: 14.5px; }
.iphix-device-repair-row small { display: block; margin-top: 2px; color: var(--muted); font-size: 12.5px; }
.iphix-device-repair-row strong { color: var(--accent); font-family: 'Space Grotesk',sans-serif; font-size: 16px; white-space: nowrap; }
.iphix-device-repair-row:focus-visible, .iphix-device-related-card:focus-visible {
    outline: 3px solid rgba(37,99,235,.3); outline-offset: 4px;
}
.iphix-device-empty { padding: 42px; border-radius: var(--radius); background: var(--bg-alt); text-align: center; }
.iphix-device-empty h3 { margin: 0 0 8px; }
.iphix-device-empty p { max-width: 560px; margin: 0 auto 22px; color: var(--muted); }

.iphix-device-assurance-section { padding: 0 0 88px; }
.iphix-device-assurance {
    display: grid; grid-template-columns: repeat(3,1fr); margin: 0; padding: 34px 0;
    border-top: 1px solid var(--border); border-bottom: 1px solid var(--border);
}
.iphix-device-assurance div { padding: 0 34px; }
.iphix-device-assurance div:first-child { padding-left: 0; }
.iphix-device-assurance div:last-child { padding-right: 0; }
.iphix-device-assurance div + div { border-left: 1px solid var(--border); }
.iphix-device-assurance dt { margin-bottom: 6px; color: var(--ink); font-family: 'Space Grotesk',sans-serif; font-size: 17px; font-weight: 700; }
.iphix-device-assurance dd { margin: 0; color: var(--muted); font-size: 14px; }

.iphix-device-related-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; }
.iphix-device-related-card {
    display: flex; align-items: center; gap: 15px; min-height: 110px; padding: 18px;
    border: 1px solid var(--border); border-radius: var(--radius-sm); background: #fff;
    color: var(--ink); transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.iphix-device-related-card:hover { border-color: rgba(37,99,235,.35); color: var(--accent); transform: translateY(-3px); box-shadow: var(--shadow-card); }
.iphix-device-related-card img { width: 64px; height: 72px; object-fit: contain; flex: none; }
.iphix-device-related-card b, .iphix-device-related-card small { display: block; }
.iphix-device-related-card b { font-size: 14px; line-height: 1.35; }
.iphix-device-related-card small { margin-top: 5px; color: var(--muted); font-size: 12px; }

@media (max-width: 1024px) {
    .iphix-device-hero-grid { grid-template-columns: 1fr; gap: 42px; }
    .iphix-device-hero-copy { max-width: 720px; }
    .iphix-device-visual { min-height: 440px; }
    .iphix-device-related-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 768px) {
    .iphix-device-hero { padding: 40px 0 56px; }
    .iphix-device-hero h1 { font-size: clamp(36px,11vw,50px); }
    .iphix-device-visual { min-height: 0; }
    .iphix-device-image { height: 300px; padding: 28px 28px 10px; }
    .iphix-device-image img { max-height: 270px; }
    .iphix-device-summary { position: relative; left: auto; right: auto; bottom: auto; margin: 0 16px 16px; }
    .iphix-device-popular, .iphix-device-repair-groups { grid-template-columns: 1fr; }
    .iphix-device-repair-group:nth-child(3) { grid-column: auto; }
    .iphix-device-repair-group:nth-child(3) .iphix-device-repair-list { grid-template-columns: 1fr; }
    .iphix-device-assurance { grid-template-columns: 1fr; padding: 0; }
    .iphix-device-assurance div { padding: 24px 0; }
    .iphix-device-assurance div + div { border-left: 0; border-top: 1px solid var(--border); }
}
@media (max-width: 520px) {
    .iphix-device-breadcrumb { margin-bottom: 20px; }
    .iphix-device-actions { flex-direction: column; }
    .iphix-device-actions .btn-gradient, .iphix-device-actions .btn-ghost { justify-content: center; width: 100%; }
    .iphix-device-summary { grid-template-columns: 1fr; padding: 4px 18px; }
    .iphix-device-summary div { padding: 14px 0; }
    .iphix-device-summary div + div { border-left: 0; border-top: 1px solid var(--border); }
    .iphix-device-popular-card { flex-direction: column; min-height: 0; padding: 24px; }
    .iphix-device-popular-action { flex-direction: row; align-items: center; }
    .iphix-device-related-grid { grid-template-columns: 1fr; }
}

/* ---------- Ask iPhix AI ---------- */
.iphix-assistant {
    position: fixed; right: 24px; bottom: 24px; z-index: 980; pointer-events: none;
    font-family: 'Inter', sans-serif;
}
.iphix-assistant > * { pointer-events: auto; }
.iphix-assistant-launcher {
    display: flex; min-width: 118px; height: 54px; align-items: center; justify-content: center; gap: 9px;
    margin-left: auto; padding: 0 18px 0 10px; border: 0; border-radius: 999px;
    background: var(--grad); color: #fff; box-shadow: 0 14px 34px rgba(37,99,235,.38);
    font: 700 14px 'Space Grotesk',sans-serif; cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease;
}
.iphix-assistant-launcher:hover { transform: translateY(-2px); box-shadow: 0 18px 40px rgba(37,99,235,.46); }
.iphix-assistant-launcher:active { transform: translateY(0) scale(.98); }
.iphix-assistant-launcher-icon {
    display: inline-flex; width: 36px; height: 36px; align-items: center; justify-content: center;
    border: 1px solid rgba(255,255,255,.34); border-radius: 50%; background: rgba(255,255,255,.15);
    font-size: 17px;
}
.iphix-assistant-panel {
    display: flex; box-sizing: border-box; width: 380px; height: min(560px, calc(100dvh - 118px)); flex-direction: column; overflow: hidden;
    margin-bottom: 14px; border: 1px solid rgba(203,213,225,.88); border-radius: 24px;
    background: rgba(255,255,255,.97); box-shadow: 0 28px 80px rgba(15,23,42,.22);
    transform-origin: bottom right; animation: iphix-assistant-in .24s cubic-bezier(.16,1,.3,1) both;
    -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px);
}
.iphix-assistant-panel[hidden] { display: none; }
@keyframes iphix-assistant-in {
    from { opacity: 0; transform: translateY(16px) scale(.97); }
    to { opacity: 1; transform: none; }
}
.iphix-assistant-head {
    display: flex; min-height: 68px; align-items: center; gap: 11px; padding: 12px 14px;
    border-bottom: 1px solid var(--border); background: rgba(255,255,255,.95);
}
.iphix-assistant-mark {
    display: inline-flex; width: 40px; height: 40px; flex: none; align-items: center; justify-content: center;
    border-radius: 12px; background: var(--grad); color: #fff; font-size: 18px;
    box-shadow: 0 8px 20px rgba(37,99,235,.28);
}
.iphix-assistant-head > span:nth-child(2) { min-width: 0; flex: 1; }
.iphix-assistant-head strong, .iphix-assistant-head small { display: block; }
.iphix-assistant-head strong { color: var(--ink); font: 700 14px 'Space Grotesk',sans-serif; }
.iphix-assistant-head small { margin-top: 2px; color: var(--muted); font-size: 11px; }
.iphix-assistant-close {
    display: inline-flex; width: 34px; height: 34px; flex: none; align-items: center; justify-content: center;
    border: 0; border-radius: 50%; background: transparent; color: var(--muted); font-size: 17px; cursor: pointer;
}
.iphix-assistant-close:hover { background: #F1F5F9; color: var(--ink); }
.iphix-assistant-messages {
    display: flex; min-height: 0; flex: 1; flex-direction: column; align-items: flex-start; gap: 10px;
    overflow-y: auto; padding: 16px; background: #F7F9FC; overscroll-behavior: contain;
}
.iphix-assistant-message {
    max-width: 86%; padding: 10px 13px; border: 1px solid #E2E8F0; border-radius: 16px 16px 16px 5px;
    background: #fff; color: #334155; box-shadow: 0 5px 14px rgba(30,58,138,.05);
    font-size: 13px; line-height: 1.55;
}
.iphix-assistant-message.is-user {
    align-self: flex-end; border: 0; border-radius: 16px 16px 5px 16px;
    background: var(--grad); color: #fff; box-shadow: 0 8px 20px rgba(37,99,235,.22);
}
.iphix-assistant-message.is-typing { display: inline-flex; width: 52px; justify-content: center; letter-spacing: .18em; color: var(--accent); }
.iphix-assistant-action {
    display: inline-flex; align-items: center; min-height: 34px; padding: 0 13px; border: 1px solid #BFDBFE;
    border-radius: 999px; background: #EFF6FF; color: #1D4ED8 !important; font-size: 11.5px; font-weight: 700;
}
.iphix-assistant-action:hover { border-color: #60A5FA; background: #DBEAFE; }
.iphix-assistant-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.iphix-assistant-chips button {
    min-height: 32px; padding: 0 11px; border: 1px solid #D7E0EC; border-radius: 999px;
    background: #fff; color: #475569; font-size: 11.5px; font-weight: 650; cursor: pointer;
}
.iphix-assistant-chips button:hover { border-color: #93C5FD; color: #1D4ED8; }
.iphix-assistant-form {
    display: flex; align-items: center; gap: 8px; padding: 12px; border-top: 1px solid var(--border); background: #fff;
}
.iphix-assistant-form input {
    min-width: 0; height: 42px; flex: 1; margin: 0; padding: 0 15px !important;
    border: 1px solid #CBD5E1; border-radius: 999px; background: #fff; color: var(--ink);
    font: 500 13px 'Inter',sans-serif; outline: none;
}
.iphix-assistant-form input::placeholder { color: #64748B; opacity: 1; }
.iphix-assistant-form input:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(37,99,235,.12); }
.iphix-assistant-form button {
    display: inline-flex; width: 42px; height: 42px; flex: none; align-items: center; justify-content: center;
    border: 0; border-radius: 50%; background: var(--grad); color: #fff; font-size: 16px; cursor: pointer;
    box-shadow: 0 7px 18px rgba(37,99,235,.25);
}
.iphix-assistant-form button:disabled { cursor: not-allowed; opacity: .45; box-shadow: none; }
.iphix-assistant-launcher:focus-visible, .iphix-assistant-close:focus-visible,
.iphix-assistant-chips button:focus-visible, .iphix-assistant-form button:focus-visible {
    outline: 3px solid rgba(37,99,235,.3); outline-offset: 3px;
}

@media (max-width: 520px) {
    .iphix-shop-meta { display: block; }
    .iphix-shop-toolbar .woocommerce-result-count { display: none; }
    .iphix-shop-toolbar .woocommerce-ordering, .iphix-shop-toolbar .woocommerce-ordering select { width: 100%; }
    .iphix-assistant { right: 14px; bottom: 14px; left: 14px; }
    .iphix-assistant-panel { width: 100%; height: min(620px, calc(100dvh - 92px)); margin-bottom: 10px; border-radius: 22px; }
    .iphix-assistant-launcher { min-width: 112px; height: 52px; padding-right: 16px; }
}

/* Keep the closed mobile launcher compact. This must follow the 520px panel
   rule above so the wider labeled pill cannot win in the cascade. */
@media (max-width: 480px) {
    .iphix-assistant-launcher {
        width: 54px; min-width: 54px; max-width: 54px; height: 54px;
        box-sizing: border-box; justify-content: center; padding: 0;
    }
    .iphix-assistant-launcher > span:last-child {
        position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
        overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .iphix-assistant-panel { animation: none; }
    .iphix-assistant-launcher { transition: none; }
}

/* ============================================================
   Pricing finder, commerce flow and account polish
   ============================================================ */
.iphix-pricing-experience { --price-line: #DCE4EE; }
.iphix-pricing-finder {
    display: grid; grid-template-columns: minmax(0,1.15fr) minmax(380px,.85fr); gap: 28px 42px;
    margin-bottom: 26px; padding: 34px; border: 1px solid #D7E1EE; border-radius: 24px;
    background: linear-gradient(132deg,#F8FBFF 0%,#F2F7FF 52%,#ECFEFF 100%);
    box-shadow: 0 28px 70px -48px rgba(37,99,235,.52);
}
.iphix-pricing-finder-copy h2 { max-width: 580px; margin: 0 0 10px; font-size: clamp(29px,4vw,42px); letter-spacing: -.035em; }
.iphix-pricing-finder-copy p { max-width: 620px; margin: 0; color: var(--muted); font-size: 14px; }
.iphix-pricing-search { position: relative; align-self: center; max-width: none; margin: 0; }
.iphix-pricing-search > span { position: absolute; left: 17px; top: 50%; z-index: 1; display: inline-flex; color: var(--accent); transform: translateY(-50%); }
.iphix-pricing-search .iphix-icon { width: 18px; height: 18px; }
.iphix-pricing-search input {
    width: 100%; height: 58px; box-sizing: border-box; padding: 0 56px 0 48px;
    border: 1.5px solid #B8C9DF; border-radius: 16px; background: #fff; color: var(--ink);
    font: 600 14px 'Inter',sans-serif; outline: none; box-shadow: 0 12px 26px -22px rgba(15,23,42,.45);
}
.iphix-pricing-search input::placeholder { color: #64748B; opacity: 1; }
.iphix-pricing-search input:focus { border-color: var(--accent); box-shadow: 0 0 0 4px rgba(37,99,235,.12); }
.iphix-pricing-search::before { display: none; }
.iphix-pricing-search kbd { position: absolute; right: 14px; top: 50%; padding: 2px 8px; border: 1px solid #CBD5E1; border-radius: 7px; background: #F8FAFC; color: #64748B; font: 700 11px 'Inter',sans-serif; transform: translateY(-50%); }
.iphix-pricing-promises { grid-column: 1/-1; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); overflow: hidden; border: 1px solid #D7E1EE; border-radius: 17px; background: rgba(255,255,255,.8); }
.iphix-pricing-promises > * { display: grid; grid-template-columns: 34px 1fr; column-gap: 10px; align-items: center; min-height: 70px; padding: 11px 18px; color: var(--ink); }
.iphix-pricing-promises > * + * { border-left: 1px solid #D7E1EE; }
.iphix-pricing-promises .iphix-icon { grid-row: 1/3; width: 22px; height: 22px; color: var(--accent); }
.iphix-pricing-promises b, .iphix-pricing-promises small { display: block; }
.iphix-pricing-promises b { align-self: end; font-size: 12px; }
.iphix-pricing-promises small { align-self: start; color: var(--muted); font-size: 10px; }
.iphix-tabs { position: sticky; top: 124px; z-index: 35; display: flex; flex-wrap: nowrap; gap: 8px; margin: 0 0 34px; padding: 10px; overflow-x: auto; border: 1px solid #DCE4EE; border-radius: 18px; background: rgba(255,255,255,.93); box-shadow: 0 18px 42px -32px rgba(30,58,138,.4); backdrop-filter: blur(16px); scrollbar-width: none; }
.iphix-tabs::-webkit-scrollbar { display: none; }
.iphix-tab { display: inline-flex; min-height: 42px; align-items: center; gap: 9px; padding: 0 16px; border: 1px solid transparent; border-radius: 12px; background: transparent; color: var(--ink-soft); font-size: 12px; white-space: nowrap; }
.iphix-tab small { display: inline-flex; min-width: 22px; height: 22px; align-items: center; justify-content: center; border-radius: 7px; background: #E9EEF6; color: #516176; font-size: 9px; }
.iphix-tab:hover { border-color: #BFDBFE; background: #EFF6FF; color: #1D4ED8; }
.iphix-tab.active { border-color: #1D4ED8; background: #1D4ED8; color: #fff; box-shadow: none; }
.iphix-tab.active small { background: rgba(255,255,255,.18); color: #fff; }
.iphix-pricing-pane[hidden], .iphix-series-block[hidden], .iphix-price-device[hidden], .iphix-pricing-empty[hidden] { display: none !important; }
.iphix-price-option[hidden] { display: none !important; }
.page-id-170 .iphix-page-hero, .page-id-168 .iphix-page-hero { padding-top: 54px; padding-bottom: 48px; }
.page-id-170 .elementor .iphix-section, .page-id-168 .elementor .iphix-section { padding-top: 54px !important; }
.iphix-series-block { margin: 0 0 42px; }
.iphix-series-head { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; margin: 0 0 15px; }
.iphix-series-head h3 { margin: 0; font-size: 23px; }
.iphix-series-head span { color: var(--muted); font-size: 11px; font-weight: 650; }
.iphix-price-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.iphix-price-device { overflow: hidden; border: 1px solid var(--price-line); border-radius: 20px; background: #fff; box-shadow: 0 18px 46px -38px rgba(30,58,138,.42); transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease; }
.iphix-price-device:hover { border-color: #BFDBFE; box-shadow: 0 26px 54px -36px rgba(37,99,235,.36); transform: translateY(-2px); }
.iphix-price-device-head { display: flex; align-items: center; gap: 14px; padding: 16px 18px; background: #F7F9FC; }
.iphix-price-device-image { display: inline-flex; width: 56px; height: 56px; flex: none; align-items: center; justify-content: center; border-radius: 14px; background: #fff; color: var(--accent); box-shadow: inset 0 0 0 1px #E2E8F0; }
.iphix-price-device-image img { width: 48px; height: 48px; object-fit: contain; mix-blend-mode: multiply; }
.iphix-price-device-image > b { font: 750 14px 'Space Grotesk',sans-serif; }
.iphix-price-device-head small { display: block; margin-bottom: 2px; color: var(--accent); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.iphix-price-device-head h4 { margin: 0; font-size: 17px; }
.iphix-price-options { padding: 4px 18px; }
.iphix-price-option { display: grid; grid-template-columns: minmax(0,1fr) auto auto; gap: 12px; align-items: center; min-height: 68px; padding: 10px 0; }
.iphix-price-option + .iphix-price-option { border-top: 1px solid #E8EDF4; }
.iphix-price-option-copy b, .iphix-price-option-copy small { display: block; }
.iphix-price-option-copy b { color: var(--ink); font-size: 12px; }
.iphix-price-option-copy b em { display: inline-block; margin-left: 7px; color: #166534; font-size: 8px; font-style: normal; font-weight: 800; text-transform: uppercase; }
.iphix-price-option-copy small { margin-top: 2px; color: var(--muted); font-size: 9px; }
.iphix-price-option > strong { color: var(--accent); font: 750 16px 'Space Grotesk',sans-serif; }
.iphix-price-option > a { display: inline-flex; min-height: 34px; align-items: center; gap: 5px; padding: 0 11px; border-radius: 999px; background: #0B1220; color: #fff !important; font-size: 10px; font-weight: 750; }
.iphix-price-option > a:hover { background: #1D4ED8; }
.iphix-price-option > a .iphix-icon { width: 12px; height: 12px; }
.iphix-price-device-all { display: flex; min-height: 46px; align-items: center; justify-content: center; gap: 8px; border-top: 1px solid #E8EDF4; background: #FBFCFE; color: #1D4ED8; font-size: 10.5px; font-weight: 750; }
.iphix-price-device-all .iphix-icon { width: 13px; height: 13px; transition: transform .2s ease; }
.iphix-price-device-all:hover .iphix-icon { transform: translateX(3px); }
.iphix-pricing-empty { padding: 54px 24px; border: 1px dashed #B8C9DF; border-radius: 20px; background: #F8FAFC; text-align: center; }
.iphix-pricing-empty h3 { margin: 0 0 8px; }
.iphix-pricing-empty p { margin: 0 auto 20px; color: var(--muted); }
.iphix-pricing-tradein {
    position: relative; display: grid; grid-template-columns: minmax(0,1fr) 250px; gap: 38px; align-items: end;
    overflow: hidden; margin-top: 50px; padding: clamp(34px,5vw,58px); border-radius: 28px;
    background: linear-gradient(130deg,#081735 0%,#163D92 62%,#1778D5 100%); color: #fff;
    box-shadow: 0 34px 78px -46px rgba(10,51,135,.8);
}
.iphix-pricing-tradein::before { content: ""; position: absolute; width: 360px; height: 360px; right: -110px; top: -210px; border-radius: 50%; background: rgba(91,224,255,.2); filter: blur(2px); }
.iphix-pricing-tradein > div, .iphix-pricing-tradein > aside { position: relative; z-index: 1; }
.iphix-pricing-tradein > div > span { display: block; margin-bottom: 12px; color: #72DDF5; font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.iphix-pricing-tradein h2 { max-width: 650px; margin: 0 0 13px; color: #fff; font-size: clamp(32px,4.6vw,52px); letter-spacing: -.045em; }
.iphix-pricing-tradein p { max-width: 650px; margin: 0 0 25px; color: #C9D8F4; font-size: 13px; line-height: 1.7; }
.iphix-pricing-tradein .btn-gradient { background: #fff; color: #1749A5 !important; box-shadow: none; }
.iphix-pricing-tradein > aside { display: grid; grid-template-columns: 42px minmax(0,1fr); column-gap: 12px; align-items: center; padding: 18px; border: 1px solid rgba(255,255,255,.18); border-radius: 18px; background: rgba(255,255,255,.1); backdrop-filter: blur(14px); }
.iphix-pricing-tradein > aside .iphix-icon { grid-row: 1/3; width: 28px; height: 28px; color: #67E8F9; }
.iphix-pricing-tradein > aside b, .iphix-pricing-tradein > aside small { display: block; }
.iphix-pricing-tradein > aside b { color: #fff; font-size: 12px; }
.iphix-pricing-tradein > aside small { margin-top: 3px; color: #C9D8F4; font-size: 9px; line-height: 1.45; }
@media (max-width: 760px) {
    .iphix-pricing-tradein { grid-template-columns: 1fr; gap: 24px; padding: 32px 24px; border-radius: 22px; }
    .iphix-pricing-tradein > aside { max-width: 360px; }
}
.iphix-wiz-benefits { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 20px; }
.iphix-wiz-benefits span { display: inline-flex; align-items: center; gap: 7px; color: var(--ink-soft); font-size: 10.5px; }
.iphix-wiz-benefits .iphix-icon { width: 15px; height: 15px; color: var(--accent); }

body.woocommerce-cart main#wp--skip-link--target,
body.woocommerce-checkout main#wp--skip-link--target,
body.woocommerce-account main#wp--skip-link--target,
body.woocommerce-cart .site-main,
body.woocommerce-checkout .site-main,
body.woocommerce-account .site-main {
    box-sizing: border-box; width: 100%; max-width: var(--site-max); min-height: 650px; margin: 0 auto; padding: 52px 28px 96px;
}
body.woocommerce-cart main > h1,
body.woocommerce-checkout main > h1,
body.woocommerce-account main > h1,
body.woocommerce-cart .entry-title,
body.woocommerce-checkout .entry-title,
body.woocommerce-account .entry-title { margin: 0 0 24px; font-size: clamp(38px,5vw,54px); letter-spacing: -.04em; }
.iphix-commerce-intro { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; margin: 0 0 16px; padding: 26px 28px; border: 1px solid #D9E3EF; border-radius: 22px; background: linear-gradient(135deg,#F8FBFF,#EEF6FF); }
.iphix-commerce-intro span { display: block; margin-bottom: 5px; color: var(--accent); font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.iphix-commerce-intro h2 { margin: 0 0 4px; font-size: 25px; }
.iphix-commerce-intro p { margin: 0; color: var(--muted); font-size: 12px; }
.iphix-commerce-intro > a { display: inline-flex; min-height: 40px; flex: none; align-items: center; gap: 8px; padding: 0 15px; border: 1px solid #BFDBFE; border-radius: 999px; background: #fff; color: #1D4ED8; font-size: 11px; font-weight: 750; }
.iphix-commerce-intro > a .iphix-icon { width: 13px; height: 13px; }
.iphix-commerce-trust { display: flex; gap: 22px; margin: 0 0 28px; padding: 0 6px; color: #526176; font-size: 10.5px; font-weight: 650; }
.iphix-commerce-trust span { display: inline-flex; align-items: center; gap: 6px; }
.iphix-commerce-trust .iphix-icon { color: var(--accent); }
.iphix-pickup-rate-note { display: block; margin-top: 3px; color: #64748B; font-size: 9px; font-weight: 500; }
.wc-block-cart, .wc-block-checkout { margin-top: 26px !important; }
.wc-block-components-sidebar-layout { column-gap: 42px !important; align-items: start !important; }
.wc-block-components-sidebar-layout .wc-block-components-main { width: calc(66.666% - 21px) !important; padding-right: 0 !important; }
.wc-block-components-sidebar-layout .wc-block-components-sidebar { width: calc(33.333% - 21px) !important; }
.wc-block-cart-items { border-collapse: separate !important; border-spacing: 0 12px !important; }
.wc-block-cart-items thead { color: #64748B; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.wc-block-cart-items .wc-block-cart-items__row { overflow: hidden; border: 1px solid #DCE4EE !important; border-radius: 18px; background: #fff; box-shadow: 0 18px 42px -36px rgba(30,58,138,.38); }
.wc-block-cart-items .wc-block-cart-items__row td { padding-top: 18px !important; padding-bottom: 18px !important; border-top: 1px solid #DCE4EE !important; }
.wc-block-cart-item__image { padding-left: 18px !important; }
.wc-block-cart-item__image img, .wc-block-components-order-summary-item__image img { box-sizing: border-box; width: 112px !important; aspect-ratio: 1/1; padding: 10px; border-radius: 14px; background: #F4F7FA; object-fit: contain; }
.wc-block-components-product-name { color: var(--ink) !important; font: 700 14px/1.35 'Space Grotesk',sans-serif !important; }
.wc-block-components-product-metadata { color: var(--muted); font-size: 10px !important; }
.wc-block-components-quantity-selector { border-color: #CBD5E1 !important; border-radius: 10px !important; }
.wc-block-cart-item__remove-link { color: #64748B !important; font-size: 10px !important; text-decoration: none !important; }
.wc-block-cart-item__remove-link:hover { color: #B91C1C !important; }
.wc-block-cart__totals-title { padding: 22px 22px 12px !important; font: 750 16px 'Space Grotesk',sans-serif !important; }
.wc-block-cart .wc-block-components-sidebar,
.wc-block-checkout .wc-block-components-sidebar { position: sticky; top: 136px; overflow: hidden; border: 1px solid #DCE4EE; border-radius: 20px; background: #fff; box-shadow: 0 24px 60px -42px rgba(30,58,138,.42); }
.wc-block-cart .wc-block-components-totals-wrapper,
.wc-block-checkout .wc-block-components-totals-wrapper { padding-right: 20px !important; padding-left: 20px !important; border-color: #E5EAF1 !important; }
.wc-block-cart__submit { padding: 18px 20px 22px !important; }
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button { min-height: 52px !important; border: 0 !important; border-radius: 999px !important; background: var(--grad) !important; color: #fff !important; font-weight: 750 !important; box-shadow: 0 12px 28px rgba(37,99,235,.28) !important; }
.wc-block-components-checkout-step { margin: 0 0 16px !important; padding: 22px !important; border: 1px solid #DCE4EE; border-radius: 18px; background: #fff; }
.wc-block-components-checkout-step__heading { margin-bottom: 18px !important; }
.wc-block-components-checkout-step__title { font: 750 17px 'Space Grotesk',sans-serif !important; }
.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input { border-color: #B7C4D4 !important; border-radius: 11px !important; background: #fff !important; }
.wc-block-components-text-input input:focus,
.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input:focus { border-color: var(--accent) !important; box-shadow: 0 0 0 3px rgba(37,99,235,.12) !important; }
.wc-block-components-radio-control-accordion-option { border-color: #DCE4EE !important; border-radius: 12px !important; }
.wc-block-components-notice-banner.is-error { border: 1px solid #FCA5A5 !important; border-radius: 14px !important; background: #FFF7F7 !important; color: #7F1D1D !important; }

body.woocommerce-account .woocommerce { display: grid; width: 100% !important; max-width: none !important; grid-template-columns: 250px minmax(0,1fr); gap: 28px; align-items: start; }
body.woocommerce-account .woocommerce::before, body.woocommerce-account .woocommerce::after { display: none; }
.woocommerce-account .woocommerce-MyAccount-navigation { position: sticky; top: 112px; box-sizing: border-box; float: none; width: 100% !important; padding: 10px; border: 1px solid #DCE4EE; border-radius: 18px; background: #fff; box-shadow: 0 18px 44px -36px rgba(30,58,138,.36); }
.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; }
.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: flex; min-height: 46px; align-items: center; padding: 0 13px; border-radius: 11px; color: var(--ink-soft); font-size: 12px; font-weight: 700; }
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background: #F1F5F9; color: var(--accent); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: #EAF2FF; color: #1D4ED8; }
.woocommerce-account .woocommerce-MyAccount-content { box-sizing: border-box; float: none; width: 100% !important; min-height: 420px; padding: 30px; border: 1px solid #DCE4EE; border-radius: 20px; background: #fff; box-shadow: 0 24px 60px -46px rgba(30,58,138,.4); color: var(--ink-soft); }
.woocommerce-account .woocommerce-MyAccount-content > p:first-child { margin-top: 0; color: var(--ink); font-size: 16px; }
.iphix-account-home .woocommerce-MyAccount-content > p { display: none; }
.iphix-account-overview { overflow: hidden; margin: -30px -30px 0; padding: 34px 36px 0; border-radius: 20px 20px 0 0; background: linear-gradient(145deg,#0C1836,#183E91 72%,#2463D4); color: #fff; }
.iphix-account-overview header { display: flex; align-items: flex-start; justify-content: space-between; gap: 28px; }
.iphix-account-overview header > div { min-width: 0; }
.iphix-account-overview header small, .iphix-account-section-head small, .iphix-account-block-head small, .iphix-repair-detail header small { display: block; margin-bottom: 6px; color: #8CB8FF; font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.iphix-account-overview h2 { margin: 0 0 7px; color: #fff; font-size: clamp(26px,3vw,36px); letter-spacing: -.035em; }
.iphix-account-overview h2 { overflow-wrap: anywhere; }
.iphix-account-overview p { max-width: 560px; margin: 0; color: #C8D7F4; font-size: 12px; line-height: 1.65; }
.iphix-account-overview .btn-gradient { flex: none; border: 1px solid rgba(255,255,255,.36); background: #fff; color: #1749A5 !important; box-shadow: none; }
.iphix-account-metrics { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 30px; border-top: 1px solid rgba(255,255,255,.18); }
.iphix-account-metrics > span { padding: 21px 0; }
.iphix-account-metrics > span + span { padding-left: 24px; border-left: 1px solid rgba(255,255,255,.18); }
.iphix-account-metrics b, .iphix-account-metrics small { display: block; }
.iphix-account-metrics b { font: 750 26px 'Space Grotesk',sans-serif; }
.iphix-account-metrics small { margin-top: 2px; color: #BDD0F2; font-size: 9px; }
.iphix-account-focus { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-top: 26px; }
.iphix-account-focus > section { min-width: 0; padding: 20px; border: 1px solid #DCE4EE; border-radius: 16px; background: #F8FAFC; }
.iphix-account-block-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.iphix-account-block-head small { color: var(--accent); }
.iphix-account-block-head h3 { margin: 0; font-size: 17px; }
.iphix-account-block-head > a { display: inline-flex; align-items: center; gap: 5px; color: var(--accent); font-size: 9.5px; font-weight: 750; }
.iphix-account-block-head > a .iphix-icon { width: 12px; height: 12px; }
.iphix-active-repair, .iphix-latest-order { display: grid; grid-template-columns: 42px minmax(0,1fr) 16px; gap: 12px; align-items: center; padding: 14px; border: 1px solid #D5E1EF; border-radius: 13px; background: #fff; color: var(--ink); }
.iphix-active-repair > span, .iphix-latest-order > span { display: inline-flex; width: 42px; height: 42px; align-items: center; justify-content: center; border-radius: 12px; background: #E8F1FF; color: var(--accent); }
.iphix-active-repair b, .iphix-active-repair small, .iphix-active-repair em, .iphix-latest-order b, .iphix-latest-order small, .iphix-latest-order em { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.iphix-active-repair small, .iphix-latest-order small { color: var(--muted); font-size: 8px; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.iphix-active-repair b, .iphix-latest-order b { margin-top: 2px; font-size: 12px; }
.iphix-active-repair em, .iphix-latest-order em { margin-top: 3px; color: #166534; font-size: 9px; font-style: normal; font-weight: 700; }
.iphix-active-repair > .iphix-icon, .iphix-latest-order > .iphix-icon { width: 14px; color: #94A3B8; }
.iphix-account-mini-empty { min-height: 92px; padding: 15px; border: 1px dashed #BCCADD; border-radius: 13px; background: #fff; }
.iphix-account-mini-empty p { margin: 0 0 9px; color: var(--muted); font-size: 10px; line-height: 1.55; }
.iphix-account-mini-empty a { color: var(--accent); font-size: 10px; font-weight: 750; }
.iphix-account-dashboard { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-top: 14px; }
.iphix-account-dashboard > a { position: relative; display: flex; min-height: 142px; flex-direction: column; padding: 17px; border: 1px solid #DCE4EE; border-radius: 16px; background: #fff; color: var(--ink); transition: border-color .2s ease, background .2s ease, transform .2s ease; }
.iphix-account-dashboard > a:hover { border-color: #93C5FD; background: #F2F7FF; transform: translateY(-2px); }
.iphix-account-dashboard > a > span { display: inline-flex; width: 34px; height: 34px; align-items: center; justify-content: center; margin-bottom: 16px; border-radius: 10px; background: #E8F1FF; color: var(--accent); }
.iphix-account-dashboard > a > .iphix-icon { position: absolute; right: 16px; top: 18px; width: 15px; height: 15px; color: #94A3B8; }
.iphix-account-dashboard b, .iphix-account-dashboard small { display: block; }
.iphix-account-dashboard b { font-size: 13px; }
.iphix-account-dashboard small { margin-top: 4px; color: var(--muted); font-size: 10px; line-height: 1.45; }
.iphix-account-section-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 26px; }
.iphix-account-section-head small, .iphix-repair-detail header small { color: var(--accent); }
.iphix-account-section-head h2 { margin: 0 0 7px; font-size: 29px; }
.iphix-account-section-head p { margin: 0; color: var(--muted); font-size: 11px; }
.iphix-account-section-head .btn-gradient { flex: none; min-height: 42px; padding: 0 16px; font-size: 10px; }
.iphix-account-empty { padding: 52px 24px; border: 1px dashed #B8C9DF; border-radius: 17px; background: #F8FAFC; text-align: center; }
.iphix-account-empty > .iphix-icon { width: 34px; height: 34px; color: var(--accent); }
.iphix-account-empty h3 { margin: 14px 0 7px; }
.iphix-account-empty p { max-width: 420px; margin: 0 auto 16px; color: var(--muted); font-size: 11px; }
.iphix-account-empty a { color: var(--accent); font-size: 11px; font-weight: 750; }
.iphix-repair-claim { margin-top: 18px; padding: 0 18px; border: 1px solid #DCE4EE; border-radius: 14px; background: #F8FAFC; }
.iphix-repair-claim summary { padding: 15px 0; color: var(--ink); font-size: 11px; font-weight: 750; cursor: pointer; }
.iphix-repair-claim form { padding: 0 0 17px; }
.iphix-repair-claim label { display: block; margin-bottom: 6px; color: var(--ink); font-size: 9px; font-weight: 700; }
.iphix-repair-claim form > div { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 9px; }
.iphix-repair-claim input { box-sizing: border-box; width: 100%; min-height: 42px; padding: 0 13px; border: 1px solid #B7C4D4; border-radius: 10px; background: #fff; color: var(--ink); }
.iphix-repair-claim input:focus { border-color: var(--accent); outline: 0; box-shadow: 0 0 0 3px rgba(37,99,235,.12); }
.iphix-repair-claim .btn-ghost { min-height: 42px; padding: 0 15px; font-size: 9px; }
.iphix-repair-claim form > small { display: block; margin-top: 7px; color: var(--muted); font-size: 8px; }
.iphix-repair-list { display: grid; gap: 10px; }
.iphix-repair-list > a { display: grid; grid-template-columns: 46px minmax(0,1fr) auto 16px; gap: 13px; align-items: center; padding: 14px 16px; border: 1px solid #DCE4EE; border-radius: 15px; background: #F8FAFC; color: var(--ink); transition: border-color .2s ease, background .2s ease, transform .2s ease; }
.iphix-repair-list > a:hover { border-color: #93C5FD; background: #F2F7FF; transform: translateY(-1px); }
.iphix-repair-list-icon { display: inline-flex; width: 46px; height: 46px; align-items: center; justify-content: center; border-radius: 12px; background: #E8F1FF; color: var(--accent); }
.iphix-repair-list-copy { min-width: 0; }
.iphix-repair-list-copy small, .iphix-repair-list-copy b, .iphix-repair-list-copy em { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.iphix-repair-list-copy small { color: var(--muted); font-size: 8px; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.iphix-repair-list-copy b { margin-top: 2px; font-size: 13px; }
.iphix-repair-list-copy em { margin-top: 3px; color: var(--muted); font-size: 9px; font-style: normal; }
.iphix-repair-list .iphix-status-pill { padding: 7px 11px; font-size: 9px; }
.iphix-repair-list > a > .iphix-icon { width: 14px; color: #94A3B8; }
.iphix-account-back { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 20px; color: var(--accent); font-size: 10px; font-weight: 750; }
.iphix-account-back .iphix-icon { width: 13px; transform: rotate(180deg); }
.iphix-repair-detail { overflow: hidden; border: 1px solid #DCE4EE; border-radius: 18px; }
.iphix-repair-detail > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 24px; background: #F6F9FD; }
.iphix-repair-detail h2 { margin: 0; font-size: 25px; }
.iphix-repair-facts { display: grid; grid-template-columns: .8fr 1.15fr 1.4fr .65fr; border-top: 1px solid #DCE4EE; border-bottom: 1px solid #DCE4EE; }
.iphix-repair-facts > span { min-width: 0; padding: 18px 22px; }
.iphix-repair-facts > span + span { border-left: 1px solid #DCE4EE; }
.iphix-repair-facts small, .iphix-repair-facts b { display: block; }
.iphix-repair-facts small { margin-bottom: 4px; color: var(--muted); font-size: 8px; font-weight: 750; text-transform: uppercase; }
.iphix-repair-facts b { overflow: hidden; color: var(--ink); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.iphix-repair-milestones { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); margin: 0; padding: 28px 22px 30px; list-style: none; }
.iphix-repair-milestones li { position: relative; min-width: 0; text-align: center; }
.iphix-repair-milestones li::before { content: ""; position: absolute; top: 7px; left: 0; right: 0; height: 1px; background: #D7E0EA; }
.iphix-repair-milestones li:first-child::before { left: 50%; }
.iphix-repair-milestones li:last-child::before { right: 50%; }
.iphix-repair-milestones li > span { position: relative; z-index: 1; display: block; width: 15px; height: 15px; margin: 0 auto 10px; border: 3px solid #fff; border-radius: 50%; background: #CBD5E1; box-shadow: 0 0 0 1px #CBD5E1; }
.iphix-repair-milestones li.is-complete > span, .iphix-repair-milestones li.is-current > span { background: var(--accent); box-shadow: 0 0 0 1px var(--accent); }
.iphix-repair-milestones li.is-current > span { box-shadow: 0 0 0 1px var(--accent),0 0 0 5px rgba(37,99,235,.12); }
.iphix-repair-milestones b, .iphix-repair-milestones small { display: block; }
.iphix-repair-milestones b { padding: 0 4px; color: #64748B; font-size: 8px; line-height: 1.3; }
.iphix-repair-milestones li.is-complete b, .iphix-repair-milestones li.is-current b { color: var(--ink); }
.iphix-repair-milestones small { margin-top: 4px; color: var(--muted); font-size: 7px; }
.iphix-repair-detail > footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 22px; border-top: 1px solid #DCE4EE; background: #F8FAFC; }
.iphix-repair-detail > footer > div { display: flex; align-items: center; gap: 10px; }
.iphix-repair-detail > footer .iphix-icon { color: var(--accent); }
.iphix-repair-detail > footer b, .iphix-repair-detail > footer small { display: block; }
.iphix-repair-detail > footer b { color: var(--ink); font-size: 10px; }
.iphix-repair-detail > footer small { margin-top: 2px; color: var(--muted); font-size: 8px; }
.iphix-repair-detail > footer .btn-ghost { min-height: 38px; padding: 0 14px; font-size: 9px; }
.woocommerce-account .woocommerce form .form-row input.input-text,
.woocommerce-account .woocommerce form .form-row select { min-height: 48px; box-sizing: border-box; border: 1px solid #B7C4D4; border-radius: 11px; background: #fff; }

/* Logged-out customer access keeps WooCommerce auth native while presenting
   sign-in and registration as one balanced account entry surface. */
body.woocommerce-account:not(.logged-in) main#wp--skip-link--target,
body.woocommerce-account:not(.logged-in) .site-main { max-width: 1240px; min-height: 720px; padding-top: 38px; }
body.woocommerce-account:not(.logged-in) main > h1,
body.woocommerce-account:not(.logged-in) .entry-title { margin-bottom: 22px; text-align: left !important; }
body.woocommerce-account:not(.logged-in) .entry-content,
body.woocommerce-account:not(.logged-in) .wp-block-post-content { width: 100%; max-width: none !important; box-sizing: border-box; margin: 0 auto !important; padding-right: 0 !important; padding-left: 0 !important; }
body.woocommerce-account:not(.logged-in) .woocommerce { display: block; width: 100% !important; max-width: none !important; }
.iphix-auth-intro { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(320px,.75fr); gap: 34px; align-items: end; margin-bottom: 18px; padding: 28px 32px; border: 1px solid #D7E3F1; border-radius: 20px; background: linear-gradient(130deg,#F8FBFF 0%,#EEF6FF 62%,#E7F8FC 100%); }
.iphix-auth-intro span { display: block; margin-bottom: 7px; color: var(--accent); font-size: 9px; font-weight: 800; letter-spacing: .12em; }
.iphix-auth-intro h2 { margin: 0 0 7px; font-size: clamp(24px,3vw,34px); letter-spacing: -.035em; }
.iphix-auth-intro p { max-width: 610px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.65; }
.iphix-auth-intro ul { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.iphix-auth-intro li { display: grid; gap: 8px; justify-items: start; color: #334155; font-size: 9.5px; font-weight: 700; line-height: 1.35; }
.iphix-auth-intro li .iphix-icon { width: 18px; height: 18px; color: var(--accent); }
body.woocommerce-account:not(.logged-in) #customer_login { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 18px; width: 100%; margin: 0; }
body.woocommerce-account:not(.logged-in) #customer_login::before,
body.woocommerce-account:not(.logged-in) #customer_login::after { display: none; }
body.woocommerce-account:not(.logged-in) #customer_login > .u-column1,
body.woocommerce-account:not(.logged-in) #customer_login > .u-column2 { float: none; width: auto; min-width: 0; box-sizing: border-box; margin: 0; padding: 30px 32px; border: 1px solid #D8E2EE; border-radius: 20px; background: #fff; box-shadow: 0 22px 54px -44px rgba(30,58,138,.42); }
body.woocommerce-account:not(.logged-in) #customer_login > .u-column2 { background: #F8FBFF; }
body.woocommerce-account:not(.logged-in).iphix-register-intent #customer_login > .u-column2 { border-color: #7CB4FF; box-shadow: 0 0 0 3px rgba(37,99,235,.09),0 22px 54px -44px rgba(30,58,138,.42); }
body.woocommerce-account:not(.logged-in) #customer_login > div > h2 { margin: 0 0 5px; color: var(--ink); font-size: 26px; letter-spacing: -.03em; }
body.woocommerce-account:not(.logged-in) #customer_login > .u-column1 > h2::after,
body.woocommerce-account:not(.logged-in) #customer_login > .u-column2 > h2::after { display: block; margin-top: 5px; color: var(--muted); font: 500 10.5px/1.5 'Inter',sans-serif; letter-spacing: 0; }
body.woocommerce-account:not(.logged-in) #customer_login > .u-column1 > h2::after { content: "Welcome back. Continue to your repair and order history."; }
body.woocommerce-account:not(.logged-in) #customer_login > .u-column2 > h2::after { content: "Create one secure account for bookings, repairs and purchases."; }
body.woocommerce-account:not(.logged-in) #customer_login form.login,
body.woocommerce-account:not(.logged-in) #customer_login form.register { margin: 20px 0 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
body.woocommerce-account:not(.logged-in) #customer_login .form-row { float: none; width: 100%; box-sizing: border-box; margin: 0 0 15px; padding: 0; }
body.woocommerce-account:not(.logged-in) #customer_login label { display: block; margin-bottom: 7px; color: #263750; font-size: 10.5px; font-weight: 750; line-height: 1.45; }
body.woocommerce-account:not(.logged-in) #customer_login label.woocommerce-form-login__rememberme { display: inline-flex; min-height: 42px; align-items: center; gap: 8px; margin: 0; }
body.woocommerce-account:not(.logged-in) #customer_login input.input-text { width: 100%; min-height: 50px; padding: 10px 13px; border: 1px solid #B8C7D9; border-radius: 10px; background: #fff; color: var(--ink); font-size: 14px; box-shadow: none; }
body.woocommerce-account:not(.logged-in) #customer_login input.input-text:focus { border-color: var(--accent); outline: 0; box-shadow: 0 0 0 3px rgba(37,99,235,.12); }
body.woocommerce-account:not(.logged-in) #customer_login .show-password-input { top: 15px; right: 14px; }
body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-button { min-height: 46px; padding: 0 22px !important; border: 0 !important; border-radius: 999px !important; background: var(--grad) !important; color: #fff !important; font-size: 11px !important; font-weight: 750 !important; box-shadow: 0 10px 24px rgba(37,99,235,.22) !important; }
body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-login__submit { float: right; margin: 0; }
body.woocommerce-account:not(.logged-in) #customer_login .lost_password { clear: both; margin: 13px 0 0; }
body.woocommerce-account:not(.logged-in) #customer_login .lost_password a { color: var(--accent); font-size: 10.5px; font-weight: 700; }
body.woocommerce-account:not(.logged-in) #customer_login .woocommerce-privacy-policy-text { color: var(--muted); font-size: 9.5px; line-height: 1.55; }
.iphix-auth-name-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }

@media (max-width: 820px) {
    .iphix-auth-intro { grid-template-columns: 1fr; align-items: start; }
    .iphix-auth-intro ul { max-width: 520px; }
    body.woocommerce-account:not(.logged-in) #customer_login { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
    body.woocommerce-account:not(.logged-in) main#wp--skip-link--target { padding-top: 24px; }
    .iphix-auth-intro { gap: 20px; padding: 23px 20px; border-radius: 16px; }
    .iphix-auth-intro ul { grid-template-columns: 1fr; gap: 10px; }
    .iphix-auth-intro li { grid-template-columns: 20px 1fr; align-items: center; }
    body.woocommerce-account:not(.logged-in) #customer_login > .u-column1,
    body.woocommerce-account:not(.logged-in) #customer_login > .u-column2 { padding: 24px 20px; border-radius: 16px; }
    body.woocommerce-account:not(.logged-in).iphix-register-intent #customer_login > .u-column2 { order: -1; }
    body.woocommerce-account:not(.logged-in) #customer_login input.input-text { font-size: 16px; }
    .iphix-auth-name-row { grid-template-columns: 1fr; gap: 0; }
}

.iphix-cart-toast { position: fixed; right: 24px; bottom: 24px; z-index: 1100; display: flex; min-width: 300px; align-items: center; justify-content: space-between; gap: 18px; padding: 15px 16px; border: 1px solid #BFDBFE; border-radius: 16px; background: rgba(255,255,255,.97); box-shadow: 0 22px 60px -24px rgba(15,23,42,.48); opacity: 0; pointer-events: none; transform: translateY(16px) scale(.97); transition: opacity .24s ease, transform .24s cubic-bezier(.16,1,.3,1); }
.iphix-cart-toast.is-visible { opacity: 1; pointer-events: auto; transform: none; }
.iphix-cart-toast b, .iphix-cart-toast small { display: block; }
.iphix-cart-toast b { max-width: 190px; overflow: hidden; color: var(--ink); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.iphix-cart-toast small { margin-top: 2px; color: #166534; font-size: 10px; }
.iphix-cart-toast > a { min-height: 36px; display: inline-flex; align-items: center; padding: 0 13px; border-radius: 999px; background: #0B1220; color: #fff !important; font-size: 10px; font-weight: 750; }
.wc-block-components-product-button__button.iphix-is-adding, .add_to_cart_button.iphix-is-adding { opacity: .7; transform: scale(.98) !important; }
.wc-block-components-product-button__button.iphix-is-added, .add_to_cart_button.iphix-is-added { background: #15803D !important; }
@keyframes iphix-cart-pulse { 0%,100% { transform: scale(1); } 45% { transform: scale(1.22) rotate(-7deg); } }
.iphix-cart.is-pulsing { animation: iphix-cart-pulse .5s cubic-bezier(.16,1,.3,1); }

@media (max-width: 900px) {
    .iphix-pricing-finder { grid-template-columns: 1fr; }
    .iphix-pricing-promises { grid-column: auto; }
    .iphix-price-grid { grid-template-columns: 1fr; }
    .wc-block-components-sidebar-layout { display: block !important; }
    .wc-block-components-sidebar-layout .wc-block-components-main,
    .wc-block-components-sidebar-layout .wc-block-components-sidebar { width: 100% !important; }
    .wc-block-cart .wc-block-components-sidebar, .wc-block-checkout .wc-block-components-sidebar { position: static; margin-top: 22px; }
    body.woocommerce-account .woocommerce { grid-template-columns: minmax(0,1fr); }
    .woocommerce-account .woocommerce-MyAccount-navigation,
    .woocommerce-account .woocommerce-MyAccount-content { min-width: 0; }
    .woocommerce-account .woocommerce-MyAccount-navigation { position: static; }
    .woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; width: 100%; max-width: 100%; gap: 4px; overflow-x: auto; scrollbar-width: none; }
    .woocommerce-account .woocommerce-MyAccount-navigation li a { white-space: nowrap; }
    .iphix-account-focus { grid-template-columns: 1fr; }
    .iphix-repair-milestones { grid-template-columns: 1fr; gap: 0; padding: 22px; }
    .iphix-repair-milestones li { display: grid; grid-template-columns: 20px 1fr; gap: 12px; min-height: 48px; text-align: left; }
    .iphix-repair-milestones li::before { top: 0; right: auto; bottom: 0; left: 7px !important; width: 1px; height: auto; }
    .iphix-repair-milestones li:last-child::before { bottom: 36px; }
    .iphix-repair-milestones li > span { margin: 0; }
    .iphix-repair-milestones b { padding: 0; }
}
@media (max-width: 600px) {
    .iphix-pricing-finder { padding: 24px 18px; border-radius: 20px; }
    .iphix-pricing-promises { display: block; }
    .iphix-pricing-promises > * { min-height: 62px; }
    .iphix-pricing-promises > * + * { border-top: 1px solid #D7E1EE; border-left: 0; }
    .iphix-tabs { top: 112px; margin-right: -18px; margin-left: -18px; border-right: 0; border-left: 0; border-radius: 0; }
    .iphix-price-option { grid-template-columns: minmax(0,1fr) auto; }
    .iphix-price-option > a { grid-column: 1/-1; justify-content: center; }
    body.woocommerce-cart main#wp--skip-link--target,
    body.woocommerce-checkout main#wp--skip-link--target,
    body.woocommerce-account main#wp--skip-link--target { padding: 34px 16px 72px; }
    .iphix-commerce-intro { align-items: flex-start; flex-direction: column; padding: 22px; }
    .iphix-commerce-trust { gap: 8px; justify-content: space-between; }
    .iphix-commerce-trust span { max-width: 88px; align-items: flex-start; line-height: 1.35; }
    .wc-block-cart-item__image img { width: 78px !important; }
    .wc-block-components-checkout-step { padding: 18px !important; }
    .woocommerce-account .woocommerce-MyAccount-content { padding: 20px; }
    .iphix-account-overview { margin: -20px -20px 0; padding: 26px 22px 0; }
    .iphix-account-overview header, .iphix-account-section-head { flex-direction: column; }
    .iphix-account-overview header .btn-gradient, .iphix-account-section-head .btn-gradient { width: 100%; justify-content: center; }
    .iphix-account-metrics > span { padding: 17px 0; }
    .iphix-account-metrics > span + span { padding-left: 13px; }
    .iphix-account-metrics b { font-size: 21px; }
    .iphix-account-dashboard { grid-template-columns: 1fr; }
    .iphix-account-dashboard > a { min-height: 116px; }
    .iphix-repair-claim form > div { grid-template-columns: 1fr; }
    .iphix-repair-claim .btn-ghost { width: 100%; justify-content: center; }
    .iphix-repair-list > a { grid-template-columns: 42px minmax(0,1fr) 14px; padding: 12px; }
    .iphix-repair-list .iphix-status-pill { grid-column: 2; justify-self: start; }
    .iphix-repair-list > a > .iphix-icon { grid-column: 3; grid-row: 1; }
    .iphix-repair-facts { grid-template-columns: 1fr; }
    .iphix-repair-facts > span + span { border-top: 1px solid #DCE4EE; border-left: 0; }
    .iphix-repair-detail > footer { align-items: flex-start; flex-direction: column; }
    .iphix-repair-detail > footer .btn-ghost { width: 100%; justify-content: center; }
    .iphix-cart-toast { right: 14px; bottom: 78px; left: 14px; min-width: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .iphix-price-device, .iphix-account-dashboard > a, .iphix-repair-list > a, .iphix-cart-toast { transition: none; }
    .iphix-cart.is-pulsing { animation: none; }
}

/* ============================================================
   Repair services catalog and detail
   ============================================================ */
.iphix-services-page, .iphix-service-detail-page { background: #fff; }
.post-type-archive-repair_service #header, .single-repair_service #header,
.post-type-archive-repair_service #footer, .single-repair_service #footer,
.post-type-archive-repair_service #page > hr, .single-repair_service #page > hr { display: none !important; }
.iphix-services-page .iphix-section, .iphix-service-detail-page .iphix-section { padding: 88px 0; }
.iphix-services-hero { overflow: hidden; padding: 78px 0 74px; background: linear-gradient(180deg,#f8fbff 0%,#fff 100%); }
.iphix-services-hero-grid { display: grid; grid-template-columns: minmax(0,.92fr) minmax(430px,1.08fr); gap: 68px; align-items: center; }
.iphix-services-kicker { margin: 0 0 14px; color: var(--accent); font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.iphix-services-hero h1 { max-width: 650px; margin: 0 0 20px; font-size: clamp(43px,5.3vw,68px); line-height: .99; letter-spacing: -.055em; }
.iphix-services-hero-copy > p:not(.iphix-services-kicker) { max-width: 580px; margin: 0; color: var(--muted); font-size: 18px; line-height: 1.7; }
.iphix-services-actions { display: flex; gap: 12px; margin-top: 30px; }
.iphix-services-proof { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; margin: 38px 0 0; padding-top: 23px; border-top: 1px solid #dbe4f1; }
.iphix-services-proof div { padding-right: 16px; }
.iphix-services-proof div + div { padding-left: 20px; border-left: 1px solid #dbe4f1; }
.iphix-services-proof dt { color: var(--ink); font: 700 17px 'Space Grotesk',sans-serif; }
.iphix-services-proof dd { margin: 3px 0 0; color: var(--muted); font-size: 11px; line-height: 1.4; }
.iphix-services-hero-media { position: relative; min-height: 510px; }
.iphix-services-hero-media > img { width: 100%; height: 510px; object-fit: cover; border-radius: 28px; box-shadow: 0 30px 70px -32px rgba(28,58,119,.36); }
.iphix-services-hero-media::before { content:""; position:absolute; inset:-24px -38px 36% 35%; z-index:-1; border-radius:50%; background:radial-gradient(circle,rgba(34,211,238,.18),rgba(37,99,235,.08) 50%,transparent 72%); }
.iphix-services-hero-media aside { position: absolute; right: -22px; bottom: 30px; display: flex; max-width: 250px; align-items: center; gap: 12px; padding: 15px 17px; border: 1px solid rgba(255,255,255,.9); border-radius: 16px; background: rgba(255,255,255,.94); box-shadow: var(--shadow-card); }
.iphix-services-hero-media aside > span { display: grid; width: 39px; height: 39px; place-items: center; border-radius: 11px; background: #e9f2ff; color: var(--accent); }
.iphix-services-hero-media aside b, .iphix-services-hero-media aside small { display: block; }
.iphix-services-hero-media aside b { font-size: 12px; }
.iphix-services-hero-media aside small { margin-top: 2px; color: var(--muted); font-size: 9.5px; line-height: 1.35; }

.iphix-services-devices { padding: 72px 0; border-top: 1px solid #e7edf5; border-bottom: 1px solid #e7edf5; background: #f6f9fd; }
.iphix-services-section-head { max-width: 720px; margin-bottom: 34px; }
.iphix-services-section-head h2, .iphix-services-catalog-head h2 { margin: 0 0 8px; font-size: clamp(30px,3.8vw,43px); letter-spacing: -.04em; }
.iphix-services-section-head p, .iphix-services-catalog-head p { margin: 0; color: var(--muted); font-size: 16px; }
.iphix-services-device-rail { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 10px; }
.iphix-services-device-rail > a { display: grid; min-width: 0; min-height: 190px; grid-template-rows: 1fr auto; padding: 15px; border: 1px solid #dce5f0; border-radius: 18px; background: #fff; color: var(--ink); transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.iphix-services-device-rail > a:hover { border-color: #9fc5ff; color: var(--accent); transform: translateY(-4px); box-shadow: 0 18px 36px -24px rgba(37,99,235,.45); }
.iphix-services-device-rail > a > span { display: grid; min-height: 112px; place-items: center; }
.iphix-services-device-rail img { width: 92px; height: 106px; object-fit: contain; }
.iphix-services-device-rail b { overflow: hidden; padding-right: 20px; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.iphix-services-device-rail > a > .iphix-icon { grid-column: 1; grid-row: 2; justify-self: end; color: #8aa0bb; }

.iphix-services-catalog-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; margin-bottom: 38px; }
.iphix-service-search { display: flex; width: min(360px,100%); align-items: center; gap: 10px; padding: 0 16px; border: 1px solid #d8e1ed; border-radius: 999px; background: #fff; color: #89a0ba; }
.iphix-service-search:focus-within { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(37,99,235,.1); }
.iphix-service-search input { width: 100%; height: 48px; padding: 0; border: 0; outline: 0; background: transparent; color: var(--ink); font: 500 13px 'Inter',sans-serif; }
.iphix-service-search input::placeholder { color: #6f7f94; opacity: 1; }
.iphix-services-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.iphix-services-grid article[hidden], .iphix-service-model-list > a[hidden] { display: none !important; }
.iphix-services-grid article { position: relative; display: flex; min-height: 286px; flex-direction: column; padding: 25px 26px 21px; overflow: hidden; border: 1px solid #dce5f0; border-radius: 19px; background: #fff; transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.iphix-services-grid article::after { content:""; position:absolute; right:-50px; bottom:-70px; width:150px; height:150px; border-radius:50%; background:radial-gradient(circle,rgba(34,211,238,.12),transparent 68%); pointer-events:none; }
.iphix-services-grid article:hover { border-color: #b6d4ff; transform: translateY(-3px); box-shadow: 0 22px 45px -30px rgba(37,99,235,.4); }
.iphix-service-card-top { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.iphix-service-card-top > span { display: grid; width: 43px; height: 43px; place-items: center; border-radius: 12px; background: #edf4ff; color: var(--accent); }
.iphix-service-card-top small { overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.iphix-services-grid h3 { margin: 22px 0 9px; font-size: 23px; }
.iphix-services-grid h3 a { color: var(--ink); }
.iphix-services-grid h3 a:hover { color: var(--accent); }
.iphix-services-grid article > p { max-width: 520px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.65; }
.iphix-services-grid article > footer { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-top: auto; padding-top: 20px; }
.iphix-services-grid article > footer small, .iphix-services-grid article > footer b { display: block; }
.iphix-services-grid article > footer small { color: var(--muted); font-size: 9px; }
.iphix-services-grid article > footer b { margin-top: 2px; color: var(--ink); font-size: 14px; }
.iphix-services-grid article > footer > a { display: inline-flex; align-items: center; gap: 7px; font-size: 11px; font-weight: 750; }
.iphix-service-warranty { position: absolute; top: 25px; left: 80px; display: inline-flex; align-items: center; gap: 5px; color: #466078; font-size: 9px; font-weight: 650; }
.iphix-services-no-results { padding: 56px 24px; border: 1px dashed #bdcce0; border-radius: 18px; text-align: center; }
.iphix-services-no-results h3 { margin: 0 0 7px; font-size: 24px; }
.iphix-services-no-results p { margin: 0 0 20px; color: var(--muted); }

.iphix-services-path { padding: 76px 0; background: #0b1735; }
.iphix-services-path-grid { display: grid; grid-template-columns: 1.05fr 1fr 1fr; gap: 18px; align-items: stretch; }
.iphix-services-path-grid > div { padding: 16px 26px 16px 0; }
.iphix-services-path h2 { margin: 0 0 12px; color: #fff; font-size: 38px; }
.iphix-services-path p { margin: 0; color: #aab8d2; font-size: 14px; }
.iphix-services-path-grid > a { display: grid; min-height: 164px; grid-template-columns: 48px minmax(0,1fr) 18px; gap: 13px; align-items: center; padding: 22px; border: 1px solid rgba(148,163,184,.25); border-radius: 17px; background: rgba(255,255,255,.055); color: #fff; transition: background .2s ease, transform .2s ease; }
.iphix-services-path-grid > a:hover { background: rgba(255,255,255,.1); color: #fff; transform: translateY(-3px); }
.iphix-services-path-grid > a > span { display: grid; width: 46px; height: 46px; place-items: center; border-radius: 12px; background: #1f55e6; }
.iphix-services-path-grid > a b, .iphix-services-path-grid > a small { display: block; }
.iphix-services-path-grid > a b { font-size: 13px; }
.iphix-services-path-grid > a small { margin-top: 4px; color: #aab8d2; font-size: 10px; line-height: 1.5; }

.iphix-service-detail-hero { padding: 72px 0 80px; background: linear-gradient(180deg,#f7faff,#fff); }
.iphix-service-detail-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(410px,.86fr); gap: 72px; align-items: center; }
.iphix-service-detail-grid nav { display: flex; gap: 9px; margin-bottom: 25px; color: var(--muted); font-size: 11px; }
.iphix-service-detail-grid nav a { font-weight: 700; }
.iphix-service-detail-grid h1 { max-width: 700px; margin: 0 0 18px; font-size: clamp(44px,5vw,66px); letter-spacing: -.055em; }
.iphix-service-detail-grid > div > p { max-width: 610px; margin: 0; color: var(--muted); font-size: 18px; line-height: 1.7; }
.iphix-service-detail-grid > div > dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 38px 0 0; padding-top: 23px; border-top: 1px solid #dbe4f1; }
.iphix-service-detail-grid > div > dl div + div { padding-left: 19px; border-left: 1px solid #dbe4f1; }
.iphix-service-detail-grid dt { color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .09em; }
.iphix-service-detail-grid dd { margin: 4px 0 0; color: var(--ink); font: 700 14px 'Space Grotesk',sans-serif; }
.iphix-service-detail-grid figure { position: relative; margin: 0; }
.iphix-service-detail-grid figure > img { width: 100%; height: 490px; object-fit: cover; border-radius: 26px; box-shadow: 0 30px 70px -34px rgba(28,58,119,.4); }
.iphix-service-detail-grid figcaption { position: absolute; right: 22px; bottom: -21px; left: 22px; display: flex; align-items: center; gap: 12px; padding: 15px 18px; border: 1px solid #dce5f0; border-radius: 15px; background: #fff; box-shadow: var(--shadow-card); }
.iphix-service-detail-grid figcaption > .iphix-icon { color: var(--accent); font-size: 24px; }
.iphix-service-detail-grid figcaption b, .iphix-service-detail-grid figcaption small { display: block; }
.iphix-service-detail-grid figcaption b { font-size: 12px; }
.iphix-service-detail-grid figcaption small { color: var(--muted); font-size: 9.5px; }
.iphix-service-model-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; }
.iphix-service-model-list > a { display: grid; min-height: 86px; grid-template-columns: minmax(0,1fr) auto 18px; gap: 15px; align-items: center; padding: 17px 19px; border: 1px solid #dce5f0; border-radius: 15px; color: var(--ink); transition: border-color .2s ease, transform .2s ease; }
.iphix-service-model-list > a:hover { border-color: #9dc5ff; color: var(--accent); transform: translateY(-2px); }
.iphix-service-model-list b, .iphix-service-model-list small { display: block; }
.iphix-service-model-list b { font-size: 12px; }
.iphix-service-model-list small { margin-top: 3px; color: var(--muted); font-size: 9.5px; }
.iphix-service-model-list strong { color: var(--accent); font-size: 13px; white-space: nowrap; }
.iphix-model-list-actions { display: flex; justify-content: center; margin-top: 24px; }
.iphix-service-detail-copy { padding: 82px 0; background: #f5f8fc; }
.iphix-service-detail-copy .iphix-wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 82px; }
.iphix-service-detail-copy h2 { margin: 0 0 16px; font-size: 38px; }
.iphix-service-detail-copy p { color: var(--muted); font-size: 15px; }
.iphix-service-detail-copy dl { margin: 0; }
.iphix-service-detail-copy dl div { display: grid; grid-template-columns: 44px 1fr; gap: 15px; padding: 17px 0; border-bottom: 1px solid #dce4ef; }
.iphix-service-detail-copy dt { color: #b9c5d5; font: 700 28px 'Space Grotesk',sans-serif; }
.iphix-service-detail-copy dd { margin: 0; }
.iphix-service-detail-copy dd b, .iphix-service-detail-copy dd span { display: block; }
.iphix-service-detail-copy dd b { font-size: 13px; }
.iphix-service-detail-copy dd span { margin-top: 3px; color: var(--muted); font-size: 11px; }

@media (max-width: 980px) {
    .iphix-services-hero-grid, .iphix-service-detail-grid { grid-template-columns: 1fr; }
    .iphix-services-hero-media { min-height: 420px; }
    .iphix-services-hero-media > img { height: 420px; }
    .iphix-services-device-rail { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .iphix-services-path-grid { grid-template-columns: 1fr 1fr; }
    .iphix-services-path-grid > div { grid-column: 1/-1; }
}
@media (max-width: 640px) {
    .iphix-services-page .iphix-section, .iphix-service-detail-page .iphix-section { padding: 60px 0; }
    .iphix-services-hero, .iphix-service-detail-hero { padding: 46px 0 62px; }
    .iphix-services-hero-grid, .iphix-service-detail-grid { gap: 42px; }
    .iphix-services-hero h1, .iphix-service-detail-grid h1 { font-size: 39px; line-height: 1.03; }
    .iphix-services-hero-copy > p:not(.iphix-services-kicker), .iphix-service-detail-grid > div > p { font-size: 15px; }
    .iphix-services-actions { align-items: stretch; flex-direction: column; }
    .iphix-services-actions .btn-gradient, .iphix-services-actions .btn-ghost { width: 100%; justify-content: center; box-sizing: border-box; }
    .iphix-services-proof { grid-template-columns: 1fr; }
    .iphix-services-proof div { padding: 10px 0; }
    .iphix-services-proof div + div { padding-left: 0; border-top: 1px solid #dbe4f1; border-left: 0; }
    .iphix-services-hero-media, .iphix-services-hero-media > img { min-height: 330px; height: 330px; }
    .iphix-services-hero-media aside { right: 12px; bottom: -18px; left: 12px; max-width: none; }
    .iphix-services-devices { padding: 58px 0; }
    .iphix-services-device-rail { display: flex; margin-right: -24px; padding-right: 24px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
    .iphix-services-device-rail > a { width: 148px; min-width: 148px; min-height: 174px; scroll-snap-align: start; }
    .iphix-services-catalog-head { align-items: stretch; flex-direction: column; }
    .iphix-service-search { width: auto; }
    .iphix-services-grid, .iphix-service-model-list { grid-template-columns: 1fr; }
    .iphix-services-grid article { min-height: 275px; padding: 22px 20px; }
    .iphix-service-warranty { top: 23px; left: 73px; }
    .iphix-services-path-grid { grid-template-columns: 1fr; }
    .iphix-services-path-grid > div { padding: 0 0 15px; }
    .iphix-services-path h2 { font-size: 32px; }
    .iphix-service-detail-grid figure > img { height: 350px; }
    .iphix-service-detail-grid > div > dl { grid-template-columns: 1fr; }
    .iphix-service-detail-grid > div > dl div { padding: 11px 0; }
    .iphix-service-detail-grid > div > dl div + div { padding-left: 0; border-top: 1px solid #dbe4f1; border-left: 0; }
    .iphix-service-detail-copy .iphix-wrap { grid-template-columns: 1fr; gap: 36px; }
    .iphix-service-detail-copy h2 { font-size: 32px; }
}
@media (prefers-reduced-motion: reduce) {
    .iphix-services-device-rail > a, .iphix-services-grid article, .iphix-services-path-grid > a, .iphix-service-model-list > a { transition: none; }
}

/* ---------- July 20 catalog and guided-repair refinement ---------- */
.elementor .iphix-quick-start-section { padding: 68px 0 76px !important; background: #fff; }
.iphix-quick-repair { display: grid; grid-template-columns: minmax(280px,.72fr) minmax(0,1.28fr); overflow: hidden; border: 1px solid #D8E3EF; border-radius: 25px; background: #081A3C; box-shadow: 0 30px 78px -50px rgba(16,43,96,.62); }
.iphix-quick-repair-copy { display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: 48px 46px; color: #fff; background: radial-gradient(circle at 12% 10%,rgba(37,99,235,.55),transparent 45%),linear-gradient(145deg,#07172F,#102E69); }
.iphix-quick-repair-copy .iphix-store-label { color: #84DFFF; }
.iphix-quick-repair-copy h2 { max-width: 430px; margin: 0; color: #fff; font-size: clamp(33px,4vw,49px); line-height: 1.03; letter-spacing: -.045em; }
.iphix-quick-repair-copy p { margin: 18px 0 0; color: #C6D4EB; font-size: 14px; line-height: 1.7; }
.iphix-quick-repair-copy > a { display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; margin-top: 25px; color: #fff; font-size: 12px; font-weight: 750; }
.iphix-quick-repair-copy > a .iphix-icon { width: 14px; }
.iphix-quick-device-grid { position: relative; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; background: #DCE5F0; }
.iphix-quick-device-grid::after { position: absolute; inset: 0; z-index: 2; background: radial-gradient(300px circle at var(--iphix-spot-x,50%) var(--iphix-spot-y,50%),rgba(37,99,235,.13),transparent 68%); content: ""; opacity: 0; pointer-events: none; transition: opacity .24s ease; }
.iphix-quick-device-grid:hover::after { opacity: 1; }
.iphix-quick-device-grid > a { position: relative; display: grid; min-height: 194px; grid-template-columns: 92px minmax(0,1fr) 20px; grid-template-rows: auto auto; column-gap: 15px; row-gap: 3px; align-items: center; padding: 24px; background: #fff; color: var(--ink); transition: background .22s ease,color .22s ease; }
.iphix-quick-device-grid > a:hover { background: #F4F8FF; color: var(--accent); }
.iphix-quick-device-grid > a > span { display: grid; width: 92px; height: 110px; grid-column: 1; grid-row: 1 / 3; place-items: center; }
.iphix-quick-device-grid img { width: 88px; height: 105px; object-fit: contain; transition: transform .28s cubic-bezier(.16,1,.3,1); }
.iphix-quick-device-grid > a:hover img { transform: translateY(-4px) scale(1.03); }
.iphix-quick-device-grid b, .iphix-quick-device-grid small { display: block; grid-column: 2; }
.iphix-quick-device-grid b { align-self: end; grid-row: 1; font-size: 15px; line-height: 1.3; }
.iphix-quick-device-grid small { align-self: start; grid-row: 2; margin-top: 0; color: var(--muted); font-size: 10px; }
.iphix-quick-device-grid > a > .iphix-icon { width: 15px; grid-column: 3; grid-row: 1 / 3; justify-self: end; color: #94A3B8; transition: color .22s ease, transform .22s ease; }
.iphix-quick-device-grid > a:hover > .iphix-icon { color: var(--accent); transform: translateX(3px); }
.iphix-quick-start-section .iphix-center { margin-top: 70px; }
.iphix-quick-start-section .iphix-steps { margin-top: 34px; }

.iphix-commerce-stage-products > .iphix-commerce-product { grid-template-rows: minmax(0,1fr) auto; }
.iphix-commerce-product strong { display: block; margin-top: 10px; color: var(--accent); font: 700 18px 'Space Grotesk',sans-serif; }
.iphix-commerce-product strong .woocommerce-Price-amount { color: inherit; }

.iphix-repair-hero { position: relative; min-height: 600px; overflow: hidden; background: #07172F; color: #fff; }
.iphix-repair-hero-media, .iphix-repair-hero-scrim { position: absolute; inset: 0; }
.iphix-repair-hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: center 42%; animation: iphix-repair-kenburns 16s ease-in-out infinite alternate; }
@keyframes iphix-repair-kenburns { from { transform: scale(1.02); } to { transform: scale(1.1); } }
.iphix-repair-hero-scrim { background: linear-gradient(90deg,rgba(3,16,39,.97) 0%,rgba(5,31,68,.9) 39%,rgba(5,24,52,.45) 72%,rgba(3,14,34,.38)),linear-gradient(0deg,rgba(3,17,39,.72),transparent 55%); }
.iphix-repair-hero .iphix-wrap { position: relative; z-index: 1; display: flex; min-height: 600px; align-items: center; }
.iphix-repair-hero-copy { width: min(720px,68%); padding: 78px 0 70px; }
.iphix-repair-hero-copy h1 { max-width: 690px; margin: 18px 0; color: #fff; font-size: clamp(48px,6.2vw,78px); line-height: .98; letter-spacing: -.06em; }
.iphix-repair-hero-copy > p { max-width: 620px; margin: 0; color: #CAD7EA; font-size: 18px; line-height: 1.65; }
.iphix-repair-hero-copy .ctas { display: flex; gap: 12px; margin-top: 30px; }
.iphix-repair-hero-facts { display: flex; max-width: 620px; align-items: center; margin-top: 40px; padding-top: 23px; border-top: 1px solid rgba(255,255,255,.18); }
.iphix-repair-hero-facts span { display: flex; min-width: 65px; align-items: center; gap: 8px; }
.iphix-repair-hero-facts b { display: grid; width: 27px; height: 27px; place-items: center; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; font-size: 10px; }
.iphix-repair-hero-facts small { color: #D8E4F4; font-size: 10px; font-weight: 650; }
.iphix-repair-hero-facts i { width: 24px; height: 1px; margin: 0 7px; background: rgba(255,255,255,.28); }
.page-id-168 .iphix-section { background: linear-gradient(180deg,#F4F8FD 0,#fff 380px); }
.page-id-168 .iphix-wizard { border-color: #C9D8E9; box-shadow: 0 42px 100px -55px rgba(16,47,105,.48); }
.page-id-168 .iphix-wiz-intro { padding-top: 42px; background: linear-gradient(135deg,#F7FAFF 0,#EAF7FF 100%); }

@media (max-width: 980px) {
    .iphix-quick-repair { grid-template-columns: 1fr; }
    .iphix-repair-hero-copy { width: min(760px,82%); }
    .iphix-commerce-stage-products { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 640px) {
    .iphix-hero-lens { display: none; }
    .elementor .iphix-quick-start-section { padding: 42px 0 58px !important; }
    .iphix-quick-repair { border-radius: 20px; }
    .iphix-quick-repair-copy { padding: 34px 24px; }
    .iphix-quick-repair-copy h2 { font-size: 35px; }
    .iphix-quick-device-grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
    .iphix-quick-device-grid > a { width: 206px; min-width: 206px; min-height: 185px; grid-template-columns: 74px minmax(0,1fr) 14px; padding: 18px; scroll-snap-align: start; }
    .iphix-quick-device-grid > a > span { width: 74px; height: 96px; }
    .iphix-quick-device-grid img { width: 70px; height: 92px; }
    .iphix-quick-start-section .iphix-center { margin-top: 54px; }
    .iphix-commerce-stage-products { grid-template-columns: 1fr; }
    .iphix-commerce-stage-products > .iphix-commerce-product { min-height: 410px; }
    .iphix-repair-hero, .iphix-repair-hero .iphix-wrap { min-height: 560px; }
    .iphix-repair-hero-media img { object-position: 62% center; }
    .iphix-repair-hero-scrim { background: linear-gradient(90deg,rgba(3,16,39,.96),rgba(3,20,45,.76)),linear-gradient(0deg,rgba(3,17,39,.8),transparent); }
    .iphix-repair-hero-copy { width: 100%; padding: 55px 0 44px; }
    .iphix-repair-hero-copy h1 { font-size: 43px; }
    .iphix-repair-hero-copy > p { font-size: 15px; }
    .iphix-repair-hero-copy .ctas { align-items: stretch; flex-direction: column; }
    .iphix-repair-hero-copy .ctas a { width: 100%; box-sizing: border-box; justify-content: center; }
    .iphix-repair-hero-facts { overflow-x: auto; margin-top: 28px; padding-bottom: 6px; }
    .iphix-repair-hero-facts span { min-width: 62px; }
    .iphix-repair-hero-facts i { min-width: 14px; margin: 0 3px; }
}

@media (prefers-reduced-motion: reduce) {
    .iphix-repair-hero-media img, .iphix-quick-device-grid img { animation: none; transition: none; }
}
