/*
Theme Name: Pivot Fitness & Lifestyle
Description: Custom theme for Pivot Fitness & Lifestyle, Dubai.
Version: 1.1
Text Domain: pivot
*/
:root{--g:#123a32;--sand:#d8c3a5;--off:#f5f2ea;--ink:#242424;--sage:#81958a;--r:6px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:17px/1.65 'Manrope',system-ui,sans-serif;color:var(--ink);background:var(--off)}
h1,h2,h3{font-family:'Fraunces',Georgia,serif;font-weight:600;line-height:1.1;margin:0 0 .5em;color:var(--g)}
h1{font-size:clamp(2.6rem,7vw,5.2rem);letter-spacing:-.02em}h2{font-size:clamp(1.9rem,4vw,3rem)}h3{font-size:1.35rem}
a{color:inherit}img{max-width:100%}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
section{padding:clamp(56px,9vw,112px) 0}
.btn{display:inline-block;padding:15px 30px;border-radius:var(--r);background:var(--sand);color:var(--g);font-weight:700;text-decoration:none;border:2px solid var(--sand);transition:transform .2s,background .2s;cursor:pointer;font-size:1rem}
.btn:hover{transform:translateY(-2px);background:#e4d3b9}
.btn.ghost{background:transparent;color:inherit;border-color:currentColor}
.btn.dark{background:var(--g);color:var(--off);border-color:var(--g)}
:focus-visible{outline:3px solid var(--sage);outline-offset:3px}
.hdr{position:sticky;top:0;z-index:50;background:var(--off);border-bottom:1px solid #e3ddcf}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;height:74px}
.logo{font-family:'Fraunces',serif;font-weight:700;font-size:1.35rem;color:var(--g);text-decoration:none}
.nav{display:flex;gap:28px;align-items:center}.nav ul{display:flex;gap:28px;list-style:none;margin:0;padding:0}
.nav a{text-decoration:none;font-weight:600;font-size:.95rem}.nav ul a:hover{color:var(--sage)}
.burger{display:none;background:none;border:0;font-size:1.8rem;color:var(--g)}
.hero{background:var(--g);color:var(--off);padding:clamp(72px,12vw,150px) 0 0;overflow:hidden}
.hero h1{color:var(--off);max-width:11ch}.hero p{max-width:46ch;font-size:1.2rem;color:var(--sand)}
.hero .row{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}
.ticker{margin-top:80px;border-top:1px solid #ffffff30;overflow:hidden;white-space:nowrap;padding:22px 0}
.ticker span{display:inline-block;padding-right:56px;font-family:'Fraunces',serif;font-size:1.6rem;color:var(--sage);animation:tk 32s linear infinite}
@keyframes tk{to{transform:translateX(-100%)}}
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.lead{color:#4a4a4a;max-width:52ch}
.programs{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}
.prog{background:#fff;padding:32px;border-radius:var(--r);border-left:5px solid var(--sage);transition:border-color .2s,transform .2s}
.prog:hover{border-color:var(--sand);transform:translateY(-4px)}
.dark-s{background:var(--g);color:var(--off)}.dark-s h2,.dark-s h3{color:var(--off)}
.stages{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:40px;border-top:1px solid #ffffff30}
.stages div{padding:28px 24px 0 0}.stages b{font-family:'Fraunces',serif;font-size:1.7rem;color:var(--sand);display:block}
.tabs{display:inline-flex;background:#fff;border-radius:50px;padding:5px;margin:12px 0 36px}
.tabs button{border:0;background:none;padding:11px 26px;border-radius:50px;font:700 .95rem 'Manrope';cursor:pointer;color:var(--ink)}
.tabs button.on{background:var(--g);color:var(--off)}
.plans{display:none;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.plans.on{display:grid}
.plan{background:#fff;padding:34px;border-radius:var(--r);display:flex;flex-direction:column;border:2px solid transparent}
.plan.feat{border-color:var(--g);background:var(--g);color:var(--off)}.plan.feat h3,.plan.feat .pr{color:var(--sand)}
.pr{font-family:'Fraunces',serif;font-size:2.4rem;color:var(--g);margin:6px 0}.pr small{font:500 .9rem 'Manrope'}
.plan ul{padding-left:20px;flex:1;margin:12px 0 26px}.plan li{margin-bottom:8px}
.note{font-size:.85rem;color:#666;margin-top:24px}
.faq details{border-bottom:1px solid #d9d2c1;padding:20px 0}.faq summary{cursor:pointer;font-weight:700;font-size:1.1rem;list-style:none;display:flex;justify-content:space-between}
.faq summary::after{content:'+';font-size:1.5rem;color:var(--sage)}.faq details[open] summary::after{content:'–'}
.pay{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.pay span{border:1px solid #ffffff40;border-radius:4px;padding:4px 12px;font-size:.8rem}
.cta{background:var(--sand);text-align:center}.cta h2{max-width:18ch;margin:0 auto .4em}
.ftr{background:var(--ink);color:#cfcfc8;padding:64px 0 28px;font-size:.92rem}
.ftr .g{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.ftr h3{color:var(--sand);font-size:1.1rem}
.ftr a{text-decoration:none;display:block;margin-bottom:6px}.ftr a:hover{color:var(--sand)}
.legal{max-width:760px;margin:0 auto;padding:64px 24px}.legal h2{font-size:1.5rem;margin-top:1.8em}
.fab{position:fixed;right:20px;bottom:20px;z-index:60;background:var(--g);color:var(--off);padding:14px 22px;border-radius:50px;text-decoration:none;font-weight:700;box-shadow:0 6px 20px #0003}
.rv{opacity:0;transition:opacity .8s}.rv.in{opacity:1}
@media(max-width:860px){.split,.programs,.stages,.ftr .g{grid-template-columns:1fr}.stages div{padding-bottom:20px}
.burger{display:block}.nav{display:none;position:absolute;top:74px;left:0;right:0;background:var(--off);flex-direction:column;padding:24px;border-bottom:1px solid #ddd}
.nav.open{display:flex}.nav ul{flex-direction:column;text-align:center}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1}}
.topbar{background:var(--sand);color:var(--g);text-align:center;padding:9px 16px;font-size:.9rem;font-weight:700}
.offer{background:var(--g);color:var(--sand);display:inline-block;padding:10px 20px;border-radius:var(--r)}
.plan em{color:var(--sage);font-style:normal;margin-bottom:8px}.pr s{font:500 1.2rem 'Manrope';opacity:.55;margin-right:8px}
.meta{font-weight:700;font-size:.9rem;border-top:1px solid #0002;border-bottom:1px solid #0002;padding:10px 0}.mo{font-weight:700;margin:0}
details.note summary{cursor:pointer;font-weight:700}

/* v1.1: off-white backgrounds, green titles/buttons, sage and sand accents */
.hero,.dark-s,.cta,.ftr{background:var(--off);color:var(--ink)}
.hero h1,.dark-s h2,.dark-s h3,.cta h2,.ftr h3{color:var(--g)}.hero p{color:#4a4a4a}
.ticker{border-top-color:var(--sand)}.ticker span{color:var(--sage)}.stages{border-top-color:var(--sand)}.stages b{color:var(--g)}
.dark-s,.ftr{border-top:1px solid var(--sand)}
.btn,.btn.dark{background:var(--g);color:var(--off);border-color:var(--g)}.btn:hover,.btn.dark:hover{background:var(--sage);border-color:var(--sage)}
.btn.ghost{background:transparent;color:var(--g)}
.plan.feat{background:#fff;border-color:var(--g);color:var(--ink)}.plan.feat h3,.plan.feat .pr{color:var(--g)}
.offer{background:var(--sand);color:var(--g)}.ftr a:hover{color:var(--sage)}.ftr .pay span{border-color:var(--sage)}.ftr a,.ftr{color:#4a4a4a}
.wpforms-container .wpforms-submit{background:var(--g)!important;color:var(--off)!important;border-radius:6px!important;padding:14px 28px!important;font-weight:700!important}

.eyebrow{letter-spacing:.2em;text-transform:uppercase;font-size:.8rem;font-weight:700;color:var(--sage);margin:0 0 10px}
.styles{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-top:36px}
.style{background:#fff;padding:24px;border-radius:var(--r);border-left:5px solid var(--sage);transition:border-color .2s,transform .2s}.style:hover{border-color:var(--sand);transform:translateY(-3px)}
.style h3{font-size:1.1rem;margin-bottom:.4em}.style p{margin:0;font-size:.95rem;color:#4a4a4a}.small{font-size:.85rem;margin:12px 0 0;text-align:center}

.hero h1{max-width:16ch}
.hero-media{margin-top:56px;border-radius:12px;overflow:hidden;aspect-ratio:16/9;background:var(--sand)}
.hero-media img,.hero-media video{width:100%;height:100%;object-fit:cover;display:block}.hero-media iframe{width:100%;height:100%;border:0}
.hero-media.empty{display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;color:var(--g);font-weight:700}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px}.gallery img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r)}
.app-img{width:100%;border-radius:var(--r);margin-top:28px}
@media(max-width:860px){.gallery{grid-template-columns:1fr}.hero-media{margin-top:36px}}

.hero h1{max-width:none;font-size:clamp(1.7rem,6vw,4.4rem);letter-spacing:-.01em}

/* v1.2 */
.plan .btn{align-self:center;padding:12px 30px;font-size:.95rem;border-radius:50px}.plan .small{text-align:center}
.fab{display:flex;align-items:center;gap:8px;padding:13px 20px;font-size:.95rem}
.ticker{margin-top:40px;overflow:hidden;white-space:nowrap}.ticker .track{display:inline-flex;animation:tkr 50s linear infinite}.ticker:hover .track{animation-play-state:paused}
.ticker .track span{animation:none;margin-right:48px;font-size:1.5rem}.ticker .track span::before{content:"\00b7";margin-right:48px;color:var(--sand)}
@keyframes tkr{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.ftr .ct{margin-bottom:8px}.ftr .ct a{display:inline}
.legalbar{margin-top:36px;padding-top:20px;border-top:1px solid var(--sand)}.legalbar a{display:inline;margin-right:20px;font-size:.78rem}
.copy{margin:14px 0 0;font-size:.8rem;opacity:.75}
.consult-intro p{margin:0 0 1em}
.pf-shop{padding-top:48px;padding-bottom:96px}
.woocommerce-page .hdr{position:relative}.logo img{height:40px;width:auto;max-height:40px}
.woocommerce-cart .legal,.woocommerce-checkout .legal,.woocommerce-account .legal{max-width:1100px}
.woocommerce a.button,.woocommerce button.button,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce #respond input#submit{background:var(--g)!important;color:var(--off)!important;border-radius:50px!important;font-weight:700}
.woocommerce a.button:hover,.woocommerce button.button:hover{background:var(--sage)!important}
.woocommerce div.product .product_title{font-size:2rem}
.pf-modal{position:fixed;inset:0;background:#0008;z-index:100;display:none;align-items:center;justify-content:center;padding:16px}.pf-modal.on{display:flex}
.pf-box{background:var(--off);max-width:760px;width:100%;max-height:85vh;overflow:auto;border-radius:12px;padding:32px;position:relative}
.pf-x{position:absolute;top:8px;right:14px;background:none;border:0;font-size:2rem;cursor:pointer;color:var(--g)}.pf-c h1{font-size:1.8rem}.pf-c h2{font-size:1.2rem;margin-top:1.4em}

/* v1.3: WooCommerce overrides (Woo sets img height:auto on shop pages) */
.hdr .logo img{height:40px!important;width:auto!important;max-width:none!important}
body.woocommerce-page .hdr,body.woocommerce .hdr{position:static!important}
#sidebar{display:none!important}

.scope{background:#fff;border-top:1px solid var(--sand);border-bottom:1px solid var(--sand)}.scope p{color:#4a4a4a}

/* v1.4 */
.scope h2{font-size:clamp(.8rem,3.9vw,1.6rem);white-space:nowrap}
.cd{display:inline-block;background:var(--g);color:var(--off);padding:3px 12px;border-radius:50px;font-weight:700;font-size:.82rem;margin-left:6px;font-variant-numeric:tabular-nums;white-space:nowrap}.cd:empty{display:none}
.tgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:32px}
.tcard{margin:0;background:#fff;padding:28px;border-radius:var(--r);border-top:4px solid var(--sand)}
.tcard blockquote{margin:0 0 16px;font-family:'Fraunces',Georgia,serif;font-size:1.15rem;line-height:1.5;color:var(--g)}
.tcard blockquote::before{content:"\201C"}.tcard blockquote::after{content:"\201D"}
.tcard figcaption{font-weight:700;font-size:.9rem;color:var(--sage)}.tcard figcaption::before{content:"\2014\00a0"}

.csub{font-size:.85rem;margin:0 0 6px;color:var(--sage)}.paybox{border:1px dashed var(--sage);padding:12px 14px;border-radius:var(--r);font-size:.92rem;margin:0 0 20px}
