/*
Theme Name: Pakistan Law Hub
Description: Lightweight 3D theme for Pakistan Law Hub. Every homepage section is an Elementor (free) widget. No jQuery, no images, one CSS + one deferred JS file.
Author: Pakistan Law Hub
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: plh
*/
:root{--bg:#fbf8f1;--ink:#12241f;--mut:#5b6b66;--teal:#0f766e;--deep:#0b2f2a;--card:#fff;--line:#e3dfd3;--gold:#d9a441;--r:16px}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0c1714;--ink:#eef3f0;--mut:#9db0aa;--card:#13231f;--line:#243933}}
:root[data-theme=dark]{--bg:#0c1714;--ink:#eef3f0;--mut:#9db0aa;--card:#13231f;--line:#243933}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:76px}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.65 Outfit,system-ui,sans-serif;overflow-x:hidden}
h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;line-height:1.1;margin:0 0 .4em}
a{color:inherit}img{max-width:100%;height:auto}button{font:inherit;cursor:pointer}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.plh-in{max-width:none;width:100%;margin:0;padding:0 clamp(20px,3.5vw,64px);box-sizing:border-box}
.screen-reader-text,.plh-skip{position:absolute;left:-999px}.plh-skip:focus{left:8px;top:8px;background:#fff;color:#000;padding:8px;z-index:99}
.plh-btn{display:inline-block;background:var(--teal);color:#fff;border:0;border-radius:10px;padding:11px 20px;font-weight:500;text-decoration:none}
.plh-btn.o{background:transparent;color:var(--teal);border:1.5px solid var(--teal)}
/* header */
.plh-hd{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.admin-bar .plh-hd{top:32px}
.plh-hd .plh-in{display:flex;align-items:center;gap:14px;height:64px}
.plh-logo{font:600 24px 'Cormorant Garamond',serif;text-decoration:none;margin-right:auto;display:flex;align-items:center;gap:8px}
.plh-logo img{max-height:38px;width:auto}
.plh-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px}
.plh-nav a{display:block;padding:8px 12px;border-radius:8px;font-size:14px;text-decoration:none;color:var(--mut)}
.plh-nav a:hover,.plh-nav .current-menu-item>a{color:var(--teal);background:#0f766e14}
.plh-nav .sub-menu{display:none;position:absolute;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:6px;flex-direction:column}
.plh-nav li{position:relative}.plh-nav li:hover>.sub-menu,.plh-nav li:focus-within>.sub-menu{display:flex}
.plh-ico{background:none;border:1px solid var(--line);color:var(--ink);border-radius:10px;width:40px;height:40px}
.plh-burger{display:none}
@media(max-width:860px){.plh-burger{display:block}.plh-nav{display:none;position:absolute;left:0;right:0;top:64px;background:var(--bg);border-bottom:1px solid var(--line);padding:10px 20px}.plh-nav.open{display:block}.plh-nav ul{flex-direction:column}.plh-nav .sub-menu{position:static;display:flex;border:0}}
/* sections */
.plh-sec{padding:72px 0}.plh-sec h2{font-size:clamp(30px,5vw,46px)}.plh-sub{color:var(--mut);max-width:60ch;margin:0 0 28px}
.plh-hero{position:relative;overflow:hidden;display:grid;align-items:center;background:radial-gradient(900px 520px at 78% 30%,#0f766e33,transparent),var(--bg)}
.plh-stars{position:absolute;inset:0;width:100%;height:100%;opacity:.5}
.plh-hero-in{position:relative;display:grid;gap:24px;padding-top:56px;padding-bottom:56px;text-align:left}
@media(min-width:900px){.plh-hero-in{grid-template-columns:1.05fr 1fr;align-items:center}}
.plh-badge{display:inline-block;font-size:13px;background:#0f766e1f;color:var(--teal);padding:4px 14px;border-radius:99px;margin-bottom:14px}
.plh-hero h1{font-size:clamp(40px,7vw,74px);text-align:left}.plh-hero em{display:block;color:var(--teal)}
.plh-hero p{color:var(--mut);max-width:48ch}.plh-hero .plh-btn{margin:6px 8px 0 0}
.plh-float,.plh-cube,.plh-orb{display:none!important}.plh-float{position:absolute;inset:0;pointer-events:none;perspective:900px}
.plh-cube{position:absolute;left:6%;bottom:12%;width:70px;height:70px;transform-style:preserve-3d;animation:plh-cube 16s linear infinite;translate:calc(var(--mx,0)*30px) calc(var(--my,0)*20px)}
.plh-cube i{position:absolute;inset:0;border:2px solid var(--teal);background:#0f766e18}
.plh-cube i:nth-child(1){transform:translateZ(35px)}.plh-cube i:nth-child(2){transform:rotateY(180deg) translateZ(35px)}.plh-cube i:nth-child(3){transform:rotateY(90deg) translateZ(35px)}.plh-cube i:nth-child(4){transform:rotateY(-90deg) translateZ(35px)}.plh-cube i:nth-child(5){transform:rotateX(90deg) translateZ(35px)}.plh-cube i:nth-child(6){transform:rotateX(-90deg) translateZ(35px)}
@keyframes plh-cube{to{transform:rotateX(360deg) rotateY(360deg)}}
.plh-orb{position:absolute;right:8%;top:14%;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#ffe9a8,var(--gold) 60%,#8a5a10);opacity:.85;animation:plh-fl 6s ease-in-out infinite;translate:calc(var(--mx,0)*-40px) calc(var(--my,0)*-30px)}
@keyframes plh-fl{50%{transform:translateY(-18px)}}
/* 3D ring */
.plh-stage{perspective:1100px;height:390px;display:grid;place-items:center;touch-action:pan-y;cursor:grab}
.plh-ring{position:relative;width:170px;height:220px;transform-style:preserve-3d}
.plh-rc{position:absolute;inset:0;border-radius:16px;padding:16px;color:#fff;text-decoration:none;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(160deg,var(--c1),var(--c2));transform:rotateY(calc(var(--i)*var(--step)))translateZ(var(--rad));backface-visibility:hidden;box-shadow:0 22px 40px #0004}
.plh-rc b{font:600 23px/1.1 'Cormorant Garamond',serif}.plh-rc small{font-size:12px;opacity:.85}
/* stats */
.plh-stats{background:var(--deep);color:#fff;padding:38px 0}
.plh-stats .plh-in{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;text-align:center}
@media(min-width:700px){.plh-stats .plh-in{grid-template-columns:repeat(var(--cols,4),1fr)}}
.plh-stats b{display:block;font:600 42px 'Cormorant Garamond',serif}.plh-stats span{font-size:13px;opacity:.8}
/* cards */
.plh-grid{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:560px){.plh-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){.plh-grid{grid-template-columns:repeat(var(--cols,3),1fr)}}
.plh-card{position:relative;display:block;text-decoration:none;background:var(--card);border:1px solid var(--line);border-top:4px solid var(--ac,var(--teal));border-radius:var(--r);padding:22px;transition:transform .15s,box-shadow .2s;transform-style:preserve-3d}
.plh-card:hover{box-shadow:0 18px 34px #0002}
.plh-card h3{font-size:25px}.plh-card p{color:var(--mut);margin:6px 0 0;font-size:14px}
.plh-card .e{font-size:30px;display:block;margin-bottom:8px;transform:translateZ(30px)}
.plh-tag{display:inline-block;font-size:12px;background:#0f766e1f;color:var(--teal);padding:2px 10px;border-radius:99px;margin-top:10px}
.plh-v-subjects .plh-card{padding:16px;text-align:center}.plh-v-subjects h3{font-size:20px;margin:0}.plh-v-subjects p{font-size:12px}
.plh-v-steps .plh-card{text-align:center}.plh-v-steps .e{width:46px;height:46px;line-height:46px;border-radius:50%;background:var(--ac,var(--teal));color:#fff;font:600 22px 'Cormorant Garamond',serif;margin:0 auto 10px}
/* explorer */
.plh-lab{display:grid;background:#050b12;color:#e8eef5;border-radius:22px;overflow:hidden}
@media(min-width:800px){.plh-lab{grid-template-columns:1.4fr 1fr}}
.plh-cv{position:relative;height:380px}.plh-cv canvas{width:100%;height:100%;display:block}
.plh-zoom{position:absolute;right:12px;top:14px;bottom:14px;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:11px;color:#9fb2c4}
.plh-zoom input{writing-mode:vertical-lr;direction:rtl;height:100%;width:28px;accent-color:var(--gold)}
.plh-info{padding:22px}.plh-info h3{font-size:30px;color:#ffd98a}.plh-info p{color:#c6d3df;font-size:14px;margin:8px 0}
.plh-opts{display:grid;gap:8px;margin-top:10px}.plh-opts button{text-align:left;background:#ffffff12;color:#fff;border:1px solid #ffffff30;border-radius:10px;padding:9px 12px}
.plh-opts .ok{background:#1f8f5a}.plh-opts .no{background:#a83a3a}
/* cta, posts */
.plh-cta{background:linear-gradient(135deg,var(--teal),var(--deep));color:#fff;text-align:center;border-radius:24px;padding:56px 20px}
.plh-cta .plh-btn{background:#fff;color:var(--deep)}.plh-cta p{opacity:.9}
.plh-post small{color:var(--teal);font-weight:600}
/* pages */
.plh-page{max-width:820px;margin:auto;padding:40px 20px}.plh-page h1{font-size:clamp(32px,5vw,50px)}
/* footer */
.plh-ft{background:#0b1220;color:#9fb0c0;padding:48px 0 24px;font-size:14px}
.plh-ft .g{display:grid;gap:28px}@media(min-width:800px){.plh-ft .g{grid-template-columns:1.4fr 1fr 1fr 1fr}}
.plh-ft h3,.plh-ft h4{color:#fff;font:600 20px 'Cormorant Garamond',serif;margin:0 0 10px}
.plh-ft ul{list-style:none;margin:0;padding:0}.plh-ft li{margin:6px 0}.plh-ft a{text-decoration:none}.plh-ft a:hover{color:#fff}
.plh-ft .c{border-top:1px solid #ffffff1f;margin-top:30px;padding-top:16px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:13px}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01s!important;animation-iteration-count:1!important}}

/* hero search */
.plh-search{position:relative;max-width:520px;margin-top:22px}
.plh-sbox{display:flex;gap:8px;background:var(--card);border:1.5px solid var(--line);border-radius:12px;padding:5px}
.plh-sbox:focus-within{border-color:var(--teal)}
.plh-sbox input{flex:1;min-width:0;border:0;background:transparent;color:var(--ink);font:inherit;padding:9px 12px;outline:0}
.plh-sbox .plh-btn{margin:0!important;cursor:pointer;font:inherit;font-weight:500}
.plh-sres{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:20;list-style:none;margin:0;padding:6px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 36px #0003;max-height:320px;overflow:auto}
.plh-sres[hidden]{display:none}
.plh-sres a{display:flex;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:8px;text-decoration:none;color:var(--ink)}
.plh-sres a:hover{background:#0f766e14}.plh-sres small{color:var(--teal);white-space:nowrap;text-transform:capitalize}
.plh-sres .all a{color:var(--teal);justify-content:center;font-size:14px}.plh-sres .none{padding:10px;color:var(--mut);font-size:14px}

/* Full-width layout: Elementor containers that hold PLH widgets stretch edge to edge */
.e-con:has(> .elementor-widget[class*="elementor-widget-plh_"]),
.e-con:has(> .e-con-inner > .elementor-widget[class*="elementor-widget-plh_"]){--container-max-width:100%;--content-width:100%;--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--gap:0px;--row-gap:0px;--column-gap:0px;width:100%;max-width:100%}
.e-con:has(> .e-con-inner > .elementor-widget[class*="elementor-widget-plh_"])>.e-con-inner{max-width:100%;width:100%}
[class*="elementor-widget-plh_"]{width:100%;max-width:100%}
[class*="elementor-widget-plh_"]>.elementor-widget-container{margin:0;padding:0}
