/*
Theme Name: TwistaPure Air Purifier Canada
Theme URI: https://twistapure.ca/
Author: OpenAI
Description: Responsive product landing page for TwistaPure Air Purifier with editable checkout URL, package pricing and SEO settings.
Version: 1.0.1
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: twistapure
*/
:root{--tp-purple:#35104f;--tp-purple2:#5c2481;--tp-lilac:#eee0fa;--tp-red:#d52d48;--tp-ink:#24172c;--tp-muted:#6b6072;--tp-bg:#fcf9ff;--tp-line:#e8dff0;--tp-gold:#e7bd6c;--tp-radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:#fff;color:var(--tp-ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65}a{color:inherit}img{max-width:100%;height:auto}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--tp-red);outline-offset:3px}.tp-wrap{width:min(1160px,calc(100% - 40px));margin:auto}.tp-header{background:#fff;border-bottom:1px solid var(--tp-line);position:sticky;top:0;z-index:50}.tp-nav{display:flex;align-items:center;justify-content:space-between;min-height:78px;gap:22px}.tp-logo{font-size:1.25rem;font-weight:850;letter-spacing:-.04em;color:var(--tp-purple);text-decoration:none}.tp-logo span{color:var(--tp-red)}.tp-menu{display:flex;align-items:center;gap:23px}.tp-menu a{text-decoration:none;font-size:.93rem;font-weight:650}.tp-menu a:hover{color:var(--tp-red)}.tp-menu-toggle{display:none;background:var(--tp-purple);color:#fff;border:0;border-radius:10px;padding:10px 13px}.tp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none!important;background:var(--tp-red);color:#fff!important;font-weight:800;border-radius:999px;padding:14px 23px;box-shadow:0 9px 24px #d52d4833;transition:transform .18s,background .18s;min-height:48px;border:0;cursor:pointer}.tp-btn:hover{background:#ad1e37;transform:translateY(-2px)}.tp-btn-dark{background:var(--tp-purple)}.tp-btn-dark:hover{background:#210a34}.tp-hero{background:radial-gradient(circle at 80% 22%,#f4dff7 0,transparent 30%),linear-gradient(135deg,#fcf8ff,#f0e2fb);padding:76px 0 64px;overflow:hidden}.tp-hero-grid{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:48px}.tp-kicker{display:inline-block;color:var(--tp-purple2);background:#fff;border:1px solid #e4d1f0;border-radius:999px;padding:7px 13px;font-weight:800;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase}.tp-hero h1{font-size:clamp(2.5rem,5vw,4.45rem);line-height:1.04;letter-spacing:-.055em;color:var(--tp-purple);margin:18px 0}.tp-hero h1 em{font-style:normal;color:var(--tp-red)}.tp-lead{font-size:1.12rem;color:#5e5266;max-width:590px}.tp-price-line{display:flex;align-items:baseline;gap:12px;margin:24px 0}.tp-price-line strong{font-size:2rem;color:var(--tp-purple)}.tp-price-line del{color:#8b7f92}.tp-points{display:flex;flex-wrap:wrap;gap:10px 18px;padding:0;margin:24px 0;list-style:none;color:#4b3a56;font-size:.93rem}.tp-points li:before{content:'✓';font-weight:900;color:var(--tp-red);margin-right:7px}.tp-product-art{min-height:0;display:grid;place-items:center;position:relative;isolation:isolate}.tp-product-art:before{content:'';position:absolute;width:min(390px,90%);aspect-ratio:1;border-radius:50%;background:linear-gradient(145deg,#e7d0f5,#fff);box-shadow:inset 0 0 0 1px #ffffffaa}.tp-product-art svg{width:min(390px,95%);height:auto;position:relative;filter:drop-shadow(0 22px 22px #34104f25)}.tp-trust{background:var(--tp-purple);color:#fff;padding:19px 0}.tp-trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;text-align:center}.tp-trust strong{display:block;color:#fff;font-size:1.05rem}.tp-trust span{font-size:.83rem;color:#e7d7f0}.tp-section{padding:78px 0}.tp-soft{background:var(--tp-bg)}.tp-heading{text-align:center;max-width:760px;margin:0 auto 42px}.tp-eyebrow{color:var(--tp-red);font-size:.78rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.tp-heading h2{font-size:clamp(2rem,3.4vw,3rem);line-height:1.13;letter-spacing:-.04em;color:var(--tp-purple);margin:9px 0 12px}.tp-heading p{color:var(--tp-muted);margin:0}.tp-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.tp-card{background:#fff;border:1px solid var(--tp-line);border-radius:var(--tp-radius);padding:26px;box-shadow:0 10px 30px #35104f08}.tp-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:var(--tp-lilac);color:var(--tp-purple);font-size:1.35rem;margin-bottom:15px}.tp-card h3{color:var(--tp-purple);margin:0 0 9px;font-size:1.18rem}.tp-card p{margin:0;color:var(--tp-muted)}.tp-split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.tp-feature-visual{min-height:330px;border-radius:30px;background:linear-gradient(145deg,#efe0f8,#fff5f7);display:grid;place-items:center;overflow:hidden}.tp-feature-visual svg{width:min(300px,80%);height:auto}.tp-checklist{padding:0;list-style:none}.tp-checklist li{padding:10px 0;border-bottom:1px solid var(--tp-line)}.tp-checklist li:before{content:'✓';color:var(--tp-red);font-weight:900;margin-right:10px}.tp-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.tp-step{padding:22px;border-radius:18px;background:#fff;border:1px solid var(--tp-line)}.tp-step b{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--tp-red);color:#fff;margin-bottom:14px}.tp-specs{width:100%;border-collapse:collapse;background:#fff;border-radius:18px;overflow:hidden}.tp-specs th,.tp-specs td{text-align:left;padding:15px 18px;border-bottom:1px solid var(--tp-line)}.tp-specs th{color:var(--tp-purple);width:42%;background:#faf5ff}.tp-pricing{background:linear-gradient(180deg,#f8f0ff,#fff)}.tp-prices{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}.tp-price-card{position:relative;background:#fff;border:1px solid #dfd0eb;border-radius:24px;padding:28px;box-shadow:0 14px 36px #35104f0d;display:flex;flex-direction:column}.tp-price-card.tp-popular{border:2px solid var(--tp-red);transform:translateY(-8px)}.tp-ribbon{display:inline-block;align-self:flex-start;background:var(--tp-lilac);color:var(--tp-purple);font-weight:900;font-size:.74rem;padding:6px 10px;border-radius:999px;margin-bottom:12px}.tp-price-card h3{margin:0;color:var(--tp-purple);font-size:1.35rem}.tp-qty{color:var(--tp-muted);margin:3px 0 14px}.tp-total{font-size:2.2rem;font-weight:900;letter-spacing:-.04em;color:var(--tp-purple)}.tp-unit{color:var(--tp-muted);font-size:.92rem}.tp-saving{color:#18804b;font-weight:800;margin:10px 0 16px}.tp-price-card ul{padding-left:19px;color:#62566a;flex:1}.tp-price-card .tp-btn{width:100%;margin-top:14px}.tp-guarantee{display:flex;align-items:center;justify-content:center;gap:15px;background:#fff;border:1px solid var(--tp-line);border-radius:20px;padding:20px;margin-top:28px}.tp-guarantee b{color:var(--tp-purple)}.tp-faq{max-width:850px;margin:auto}.tp-faq details{background:#fff;border:1px solid var(--tp-line);border-radius:14px;padding:18px 20px;margin:10px 0}.tp-faq summary{cursor:pointer;font-weight:800;color:var(--tp-purple)}.tp-faq details p{color:var(--tp-muted)}.tp-final{background:var(--tp-purple);color:#fff;text-align:center;padding:70px 0}.tp-final h2{font-size:clamp(2rem,4vw,3.4rem);line-height:1.12;margin:0 auto 16px;max-width:800px}.tp-final p{color:#e5d9ef;max-width:680px;margin:0 auto 25px}.tp-footer{background:#1e092d;color:#f6edf9;padding:45px 0 25px}.tp-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.tp-footer a{color:#eadcf3;text-decoration:none}.tp-footer a:hover{color:#fff;text-decoration:underline}.tp-legal{display:flex;flex-wrap:wrap;gap:14px;margin:20px 0}.tp-copyright{border-top:1px solid #ffffff24;padding-top:18px;color:#c8b5d5;font-size:.85rem}.tp-floating{position:fixed;z-index:9999;left:50%;bottom:18px;transform:translate(-50%,16px);white-space:nowrap;box-shadow:0 10px 35px #35104f55;display:inline-flex;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,transform .22s ease,visibility .22s ease;max-width:calc(100vw - 28px);text-align:center}.tp-floating.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}.tp-admin-note{background:#fff2c9;color:#664700;padding:10px 14px;border-radius:8px;margin:12px auto;font-size:.9rem}.tp-content{padding:55px 0;min-height:50vh}.tp-content h1,.tp-content h2{color:var(--tp-purple)}@media(max-width:900px){.tp-hero-grid,.tp-split{grid-template-columns:1fr}.tp-hero{padding-top:48px}.tp-product-art{min-height:340px;order:-1}.tp-trust-grid{grid-template-columns:repeat(2,1fr)}.tp-cards,.tp-prices{grid-template-columns:1fr 1fr}.tp-steps{grid-template-columns:repeat(2,1fr)}.tp-menu{gap:13px}.tp-footer-grid{grid-template-columns:1fr 1fr}.tp-price-card.tp-popular{transform:none}}@media(max-width:640px){.tp-wrap{width:min(100% - 28px,1160px)}.tp-nav{min-height:66px}.tp-menu-toggle{display:block}.tp-menu{display:none;position:absolute;top:65px;left:0;right:0;background:#fff;padding:18px 22px 24px;box-shadow:0 15px 25px #35104f1a;flex-direction:column;align-items:stretch}.tp-menu.is-open{display:flex}.tp-menu .tp-btn{text-align:center}.tp-hero{padding:35px 0 42px}.tp-hero-grid{gap:16px}.tp-hero h1{font-size:2.55rem}.tp-lead{font-size:1rem}.tp-product-art{min-height:270px}.tp-section{padding:54px 0}.tp-trust-grid{gap:18px 8px}.tp-trust strong{font-size:.92rem}.tp-trust span{font-size:.75rem}.tp-cards,.tp-prices,.tp-steps{grid-template-columns:1fr}.tp-card,.tp-price-card{padding:23px}.tp-footer-grid{grid-template-columns:1fr}.tp-floating{display:inline-flex;bottom:12px;max-width:calc(100% - 24px);font-size:.94rem;padding:13px 22px}.tp-footer{padding-bottom:90px}.tp-guarantee{align-items:flex-start}.tp-specs th,.tp-specs td{padding:12px;font-size:.9rem}}

.tp-disabled{opacity:.62;cursor:not-allowed;box-shadow:none;pointer-events:none}

/* Supplied TwistaPure reference imagery: one placement per source image. */
.tp-image-panel{width:100%;min-width:0;border-radius:24px;overflow:hidden;background:#fff;border:1px solid var(--tp-line);box-shadow:0 14px 35px #35104f0c;display:grid;place-items:center}.tp-image-panel img{display:block;width:100%;height:auto;max-height:650px;object-fit:contain}.tp-image-wide{max-width:850px;margin:0 auto 30px;background:#fff;border:1px solid var(--tp-line);border-radius:24px;overflow:hidden}.tp-image-wide img{display:block;width:100%;height:auto;object-fit:contain}.tp-image-wide-short{max-width:1000px}.tp-image-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.tp-image-gallery figure{margin:0;background:#fff;border:1px solid var(--tp-line);border-radius:22px;padding:14px;overflow:hidden}.tp-image-gallery img{display:block;width:100%;height:auto;object-fit:contain;border-radius:14px}.tp-image-gallery figcaption{padding:12px 5px 4px;text-align:center;color:var(--tp-muted);font-weight:700}@media(max-width:640px){.tp-image-gallery{grid-template-columns:1fr}.tp-image-panel,.tp-image-wide{border-radius:16px}.tp-image-gallery figure{padding:10px}}

/* Product imagery fit: preserve complete supplied artwork without cropping or stretching. */
.tp-product-art:before{z-index:-1;width:min(330px,72%);opacity:.7}
.tp-product-art img{display:block;width:100%;max-width:540px;height:auto;max-height:560px;object-fit:contain;object-position:center;border-radius:22px}
.tp-image-panel{min-height:0;padding:12px}
.tp-image-panel img{width:100%;height:auto;max-height:540px;object-fit:contain;object-position:center}
.tp-image-wide{width:100%;max-height:620px;padding:12px;display:grid;place-items:center}
.tp-image-wide img{width:100%;height:auto;max-height:590px;object-fit:contain;object-position:center}
.tp-image-gallery figure{display:flex;flex-direction:column;align-items:stretch}
.tp-image-gallery img{width:100%;height:auto;max-height:560px;object-fit:contain;object-position:center;background:#fff}
.tp-price-card .tp-buy,.tp-final .tp-buy,.tp-hero .tp-buy,.tp-menu .tp-buy{background:var(--tp-red);color:#fff!important}
@media(max-width:640px){.tp-floating{bottom:12px;padding:13px 22px;font-size:.95rem}.tp-footer{padding-bottom:95px}.tp-image-wide{padding:7px}.tp-image-wide img{max-height:430px}.tp-image-panel img,.tp-image-gallery img{max-height:430px}}


/* v1.0.2: always-visible, horizontally centred sticky purchase CTA. */
.tp-floating{position:fixed!important;z-index:999999!important;left:50%!important;right:auto!important;bottom:18px!important;top:auto!important;transform:translateX(-50%)!important;display:inline-flex!important;align-items:center;justify-content:center;min-height:54px;padding:15px 30px!important;background:var(--tp-red)!important;color:#fff!important;border:2px solid #fff!important;border-radius:999px!important;box-shadow:0 8px 28px rgba(36,8,54,.35)!important;white-space:nowrap;opacity:1!important;visibility:visible!important;pointer-events:auto!important;transition:filter .2s ease!important}
.tp-floating:hover,.tp-floating:focus{filter:brightness(.92);color:#fff!important}
.tp-floating.tp-disabled{opacity:1!important;visibility:visible!important;pointer-events:none!important;filter:grayscale(.2)}
.tp-side-heading{font-size:clamp(2rem,3.4vw,3rem);line-height:1.12;letter-spacing:-.04em;color:var(--tp-purple);margin:9px 0 14px}
.tp-side-intro{color:var(--tp-muted);margin:0 0 22px}
.tp-how-visual,.tp-use-visual{padding:14px;align-self:center}
.tp-how-visual img,.tp-use-visual img{width:100%;height:auto;max-height:620px;object-fit:contain;object-position:center}
.tp-steps-side{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tp-steps-side .tp-step{padding:16px}
.tp-steps-side .tp-step h3{font-size:1rem;margin:0 0 6px;color:var(--tp-purple)}
.tp-steps-side .tp-step p{font-size:.9rem;margin:0;color:var(--tp-muted)}
.tp-use-info{display:grid;gap:14px}
.tp-use-info article{display:grid;grid-template-columns:48px minmax(0,1fr);gap:13px;align-items:start;padding:14px;background:#fff;border:1px solid var(--tp-line);border-radius:16px}
.tp-use-info .tp-icon{margin:0}
.tp-use-info h3{margin:2px 0 5px;color:var(--tp-purple);font-size:1.05rem}
.tp-use-info p{margin:0;color:var(--tp-muted);font-size:.94rem}
/* Keep supplied artwork complete; display product image and explanatory copy side by side. */
.tp-image-gallery{grid-template-columns:1fr;gap:18px}
.tp-image-gallery figure{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:20px;padding:18px}
.tp-image-gallery img{max-height:430px;background:#fff}
.tp-image-gallery figcaption{text-align:left;padding:16px;color:var(--tp-purple);font-size:1.05rem;line-height:1.5}
@media(max-width:760px){.tp-floating{bottom:12px!important;max-width:calc(100vw - 24px);min-height:50px;padding:13px 24px!important;font-size:.95rem}.tp-how-split,.tp-use-split{grid-template-columns:1fr;gap:24px}.tp-how-visual img,.tp-use-visual img{max-height:440px}.tp-image-gallery figure{grid-template-columns:1fr;gap:8px}.tp-image-gallery figcaption{text-align:center;padding:10px 5px}.tp-steps-side{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.tp-steps-side{grid-template-columns:1fr}.tp-floating{font-size:.9rem;padding:12px 20px!important}}
