/*
Theme Name: The Petru Hub
Theme URI: https://petruamortoae.online/
Author: Petru Amortoae
Author URI: https://petruamortoae.online/
Description: Architectural blueprint theme. No fluff.
Version: 3.0.0
License: Proprietary
Text Domain: petru-hub
*/

/* === TOKENS === */
:root {
  --bg: #F8F8F8;
  --ink: #1A1A1A;
  --red: #FF3F3F;
  --line: #D1D1D1;
  --line-light: rgba(0,0,0,0.1);
  --line-faint: rgba(0,0,0,0.05);
  --font-headline: 'Big Shoulders Display', sans-serif;
  --font-mono: 'IBM Plex Mono', monospace;
  --space-4: 4px; --space-8: 8px; --space-12: 12px;
  --space-16: 16px; --space-24: 24px; --space-32: 32px;
  --space-48: 48px; --space-64: 64px; --space-96: 96px;
  --container: 1200px;
  --nav-height: 80px;
}

/* === RESET & BASE === */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  background:var(--bg);color:var(--ink);
  font-family:var(--font-mono);font-size:12px;
  font-weight:400;line-height:1.6;
  text-transform:lowercase;letter-spacing:0.02em;
  background-image:
    linear-gradient(to right,rgba(0,0,0,0.02) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(0,0,0,0.02) 1px,transparent 1px);
  background-size:40px 40px;
}
h1,h2,h3,h4,h5,h6{font-family:var(--font-headline);text-transform:uppercase;line-height:0.9;font-weight:900}
a{color:inherit;text-decoration:none;transition:color .2s}
a:hover{color:var(--red)}
img{max-width:100%;height:auto;display:block}
ul,ol{list-style:none}
::selection{background:var(--red);color:#fff}

/* === UTILITY === */
.container{max-width:var(--container);margin:0 auto;padding:0 24px}
.annotation{color:var(--red);font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:0.15em;font-weight:600}
.annotation-line{height:1px;width:32px;background:var(--red);margin-top:8px}
.section{padding:128px 0}
.section-border{border-top:1px solid var(--line-light)}
.material-symbols-outlined{font-family:'Material Symbols Outlined';font-size:14px;vertical-align:middle}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}
.reveal-delay-3{transition-delay:.3s}.reveal-delay-4{transition-delay:.4s}
.reveal-delay-5{transition-delay:.5s}.reveal-delay-6{transition-delay:.6s}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}

/* === HEADER === */
.nav{border-bottom:1px solid var(--line-light);padding:12px 24px}
.nav-inner{max-width:var(--container);margin:0 auto;display:flex;justify-content:space-between;align-items:center}
.nav-logo{display:flex;align-items:center;text-decoration:none}
.nav-logo img{height:40px;width:auto}
.nav-links{display:flex;align-items:center;gap:48px;text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:0.15em}
.nav-links a,.nav-links .menu-item a{color:var(--ink);border-bottom:1px solid transparent;padding-bottom:2px;transition:color .2s,border-color .2s}
.nav-links a:hover,.nav-links .menu-item a:hover{color:var(--red);border-bottom-color:var(--red)}
.nav-links .menu{display:flex;gap:48px;list-style:none;margin:0;padding:0}
.nav-hamburger{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:8px}
.nav-hamburger span{display:block;width:24px;height:2px;background:var(--ink)}
@media(max-width:768px){
  .nav-links{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:32px;z-index:100}
  .nav-links.open{display:flex}
  .nav-hamburger{display:flex}
}


/* === HERO === */
.hero{padding:80px 24px 80px;display:grid;grid-template-columns:7fr 5fr;gap:48px;max-width:var(--container);margin:0 auto;position:relative;min-height:80vh;align-items:start}
.hero__decorative-circle{position:absolute;top:80px;right:40px;width:256px;height:256px;border:1px solid var(--line-faint);border-radius:50%;pointer-events:none}
.hero__decorative-diamond{position:absolute;top:160px;right:80px;width:192px;height:192px;border:1px solid var(--line-light);transform:rotate(45deg);pointer-events:none}
.hero__content{z-index:10}
.hero__subtitle-bar{margin-bottom:32px}
.hero__headline{font-size:clamp(4rem,12vw,12rem);font-weight:900;letter-spacing:-0.03em;line-height:0.8;margin-bottom:48px}
.hero__headline span{display:block}
.text-headline-gradient{background:linear-gradient(to right,var(--ink),var(--ink),transparent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero__headline-offset{margin-left:48px;opacity:0.5}
.hero__body{max-width:28rem;margin-left:16px;border-left:1px solid rgba(0,0,0,0.2);padding-left:32px}
.text-body-upper{font-size:12px;font-weight:300;line-height:1.8;text-transform:uppercase;letter-spacing:0.1em}
.hero__actions{display:flex;gap:32px;padding-top:32px}
.btn{display:inline-block;padding:16px 40px;font-size:11px;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;font-family:var(--font-mono);cursor:pointer;transition:all .3s;border:none;text-decoration:none;text-align:center}
.btn-primary{background:var(--ink);color:#fff}
.btn-primary:hover{background:var(--red);color:#fff}
.btn-outline{background:transparent;border:1px solid var(--ink);color:var(--ink)}
.btn-outline:hover{background:var(--ink);color:#fff}
.btn-full{width:100%}
.btn-sm{padding:8px 16px;font-size:10px}
.hero__portrait{position:relative;display:flex;justify-content:center;z-index:10;margin-top:80px}
.hero__portrait-frame{width:100%;max-width:400px;aspect-ratio:3/4;border:1px solid rgba(0,0,0,0.2);padding:16px;position:relative}
.hero__portrait-frame::before{content:'';position:absolute;top:-16px;right:-16px;width:48px;height:48px;border-top:1px solid var(--red);border-right:1px solid var(--red)}
.hero__portrait-frame::after{content:'';position:absolute;bottom:-16px;left:-16px;width:48px;height:48px;border-bottom:1px solid var(--red);border-left:1px solid var(--red)}
.hero__portrait-image-wrap{width:100%;height:100%;background:rgba(0,0,0,0.05);overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center}
.hero__portrait-image-wrap img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);opacity:0.8;mix-blend-mode:multiply;contrast:1.25}
.hero__portrait-crosshair{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.hero__portrait-crosshair::before{content:'';position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--line-light)}
.hero__portrait-crosshair::after{content:'';position:absolute;top:50%;left:0;right:0;height:1px;background:var(--line-light)}
.hero__portrait-ref{font-size:8px;text-transform:uppercase;letter-spacing:1em;color:rgba(0,0,0,0.4);transform:rotate(90deg);position:absolute}
.hero__portrait-label{margin-top:24px}
@media(max-width:1024px){.hero{grid-template-columns:1fr;min-height:auto}.hero__portrait{margin-top:40px}}
@media(max-width:768px){.hero__headline{font-size:clamp(3rem,15vw,6rem)}.hero__actions{flex-direction:column;gap:16px}.hero__headline-offset{margin-left:24px}}


/* === MODULES === */
.modules-section{padding:128px 0;border-top:1px solid var(--line-light)}
.modules-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:96px;gap:32px;flex-wrap:wrap}
.modules-title-group{position:relative}
.modules-title-ghost{font-size:clamp(5rem,10vw,9rem);font-weight:100;letter-spacing:-0.03em;opacity:0.1;position:absolute;top:-48px;left:-16px}
.modules-title{font-size:clamp(3rem,8vw,8rem);font-weight:900;letter-spacing:0.1em;position:relative;z-index:10}
.modules-filters{display:flex;gap:16px;font-size:12px}
.modules-filter{background:none;border:none;cursor:pointer;font-family:var(--font-mono);font-size:12px;opacity:0.3;transition:opacity .2s;padding:0}
.modules-filter:hover,.modules-filter.active{opacity:1}
.modules-filter.active{color:var(--red);border-bottom:1px solid var(--red)}
.text-label{font-size:10px;text-transform:uppercase;letter-spacing:0.15em}
.modules-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line-light);border-bottom:1px solid var(--line-light)}
.module-card{position:relative;padding:48px;border-right:1px solid var(--line-light);transition:all .4s;display:block;text-decoration:none;color:var(--ink)}
.module-card:nth-child(3n){border-right:none}
.module-card:nth-child(n+4){border-top:1px solid var(--line-light)}
.module-card:hover{background:var(--ink);color:#fff}
.module-card__ref{position:absolute;top:24px;right:24px}
.module-card__number{font-family:var(--font-headline);font-size:4.5rem;font-weight:100;opacity:0.2;margin-bottom:48px;line-height:1}
.module-card:hover .module-card__number{opacity:1}
.module-card__title{font-family:var(--font-headline);font-size:1.8rem;font-weight:900;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:24px}
.module-card__desc{font-size:11px;text-transform:uppercase;letter-spacing:0.05em;line-height:1.6;opacity:0.6}
.module-card:hover .module-card__desc{opacity:1}
.module-card__footer{margin-top:48px;padding-top:24px;border-top:1px solid var(--line-light);display:flex;justify-content:space-between;align-items:center}
.module-card:hover .module-card__footer{border-top-color:rgba(255,255,255,0.2)}
.module-card__count{font-size:10px;font-weight:700}
.module-card__arrow{font-size:14px}
.modules-load-more{text-align:center;padding-top:var(--space-32)}
@media(max-width:1024px){.modules-grid{grid-template-columns:repeat(2,1fr)}.module-card:nth-child(3n){border-right:1px solid var(--line-light)}.module-card:nth-child(2n){border-right:none}.module-card:nth-child(n+3){border-top:1px solid var(--line-light)}}
@media(max-width:640px){.modules-grid{grid-template-columns:1fr}.module-card{border-right:none!important}.module-card+.module-card{border-top:1px solid var(--line-light)}}


/* === AFFILIATE === */
.affiliate-disclosure{border:1px solid rgba(255,63,63,0.3);padding:32px 48px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.affiliate-disclosure__badge{display:flex;align-items:center;gap:16px}
.affiliate-disclosure__icon{color:var(--red);font-size:20px}
.affiliate-disclosure__text{font-size:10px;max-width:32rem;opacity:0.5;text-transform:uppercase}
.stack-header{margin-bottom:80px}
.stack-title-ghost{font-size:clamp(4rem,10vw,9rem);font-weight:900;font-style:italic;letter-spacing:-0.03em;opacity:0.1;line-height:0.6}
.stack-title{font-size:clamp(2.5rem,6vw,7rem);font-weight:900;letter-spacing:0.1em;margin-top:-16px;margin-left:16px}
.affiliate-grid{display:grid;grid-template-columns:8fr 4fr;gap:1px;background:var(--line-light);border:1px solid var(--line-light)}
.affiliate-featured{background:var(--bg);padding:32px 64px;position:relative;overflow:hidden}
.affiliate-featured__circle{position:absolute;right:-80px;top:-80px;width:320px;height:320px;border:1px solid var(--line-faint);border-radius:50%;pointer-events:none}
.affiliate-featured__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:80px}
.affiliate-featured__icon{padding:24px;border:1px solid var(--line-faint);background:rgba(0,0,0,0.03)}
.affiliate-featured__icon img{width:48px;height:48px;object-fit:contain}
.affiliate-featured__promo{text-align:right}
.affiliate-featured__promo-code{font-family:var(--font-headline);font-size:2rem;font-weight:900;color:var(--red);letter-spacing:0.1em}
.affiliate-featured__title{font-family:var(--font-headline);font-size:clamp(3rem,6vw,8rem);letter-spacing:-0.03em;margin-bottom:32px}
.affiliate-featured__body{font-size:12px;font-weight:300;line-height:1.8;text-transform:uppercase;letter-spacing:0.1em;max-width:32rem;border-left:2px solid var(--red);padding-left:32px;margin-bottom:48px}
.affiliate-sidebar{background:var(--bg);display:flex;flex-direction:column}
.affiliate-item{padding:48px;border-bottom:1px solid var(--line-light);transition:background .2s}
.affiliate-item:last-child{border-bottom:none}
.affiliate-item:hover{background:rgba(0,0,0,0.03)}
.affiliate-item--highlight{background:rgba(255,63,63,0.05)}
.affiliate-item__title{font-family:var(--font-headline);font-size:1.8rem;font-weight:900;margin-bottom:16px;text-transform:uppercase}
.affiliate-item__discount{font-size:10px;font-weight:700;color:var(--red);margin-bottom:16px}
.btn-ghost{font-size:10px;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;border:1px solid rgba(0,0,0,0.2);padding:4px 16px;display:inline-block;transition:border-color .2s}
.btn-ghost:hover{border-color:var(--red)}
.affiliate-extra-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-light);border:1px solid var(--line-light);margin-top:48px}
.affiliate-extra-item{background:var(--bg);padding:32px;transition:background .2s;display:block;text-decoration:none;color:var(--ink)}
.affiliate-extra-item:hover{background:rgba(0,0,0,0.03)}
.affiliate-extra-item__icon{margin-bottom:16px}
.affiliate-extra-item__icon img{width:40px;height:40px;object-fit:contain}
.affiliate-extra-item__name{font-family:var(--font-headline);font-size:1.2rem;font-weight:900;text-transform:uppercase;margin-bottom:8px}
.affiliate-extra-item__category{font-size:10px;opacity:0.4;text-transform:uppercase;letter-spacing:0.1em}
@media(max-width:1024px){.affiliate-grid{grid-template-columns:1fr}.affiliate-extra-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.affiliate-extra-grid{grid-template-columns:1fr}.affiliate-featured{padding:32px}}

/* === ARTICLES === */
.article-item{padding:24px 0;border-bottom:1px solid var(--line-light)}
.article-item__title{font-family:var(--font-headline);font-size:1.4rem;font-weight:900;text-transform:uppercase;letter-spacing:0.05em;margin-bottom:8px}
.article-item__title a{transition:color .2s}
.article-item__title a:hover{color:var(--red)}
.article-item__meta{font-size:10px;opacity:0.4;letter-spacing:0.1em;text-transform:uppercase}
.article-item__excerpt{font-size:11px;opacity:0.6;margin-top:8px;max-width:40rem}


/* === FOOTER === */
.site-footer{background:var(--bg);border-top:1px solid var(--line-light);padding:128px 24px 80px;position:relative;overflow:hidden}
.footer-line-75{display:none}
.footer-grid{max-width:var(--container);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:64px;position:relative;z-index:10}
.footer-brand__logo{margin-bottom:32px}
.footer-brand__logo a{font-family:var(--font-headline);font-size:2rem;font-weight:900;letter-spacing:0.2em;text-transform:uppercase;text-decoration:none;color:var(--ink);display:inline-block}
.footer-brand__logo img{max-height:48px;width:auto}
.footer-brand__desc{font-size:10px;text-transform:uppercase;line-height:1.8;letter-spacing:0.1em;opacity:0.6;margin-bottom:48px}
.footer-social{display:flex;gap:16px}
.footer-social__link{width:40px;height:40px;border:1px solid var(--line-light);display:flex;align-items:center;justify-content:center;transition:border-color .2s}
.footer-social__link:hover{border-color:var(--red)}
.footer-entity-item{margin-bottom:24px}
.footer-entity-label{opacity:0.4;font-size:10px;font-weight:700;letter-spacing:0.15em;margin-bottom:4px}
.footer-entity-value{font-size:10px;font-weight:700;letter-spacing:0.15em}
.footer-entity-value--accent{color:var(--red)}
.footer-legal-menu ul,.footer-legal-menu .menu{list-style:none;margin:0;padding:0}
.footer-legal-menu li,.footer-legal-menu .menu-item{margin-bottom:16px}
.footer-legal-menu a{font-size:10px;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;transition:color .2s}
.footer-legal-menu a:hover{color:var(--red)}
.footer-status{border:1px solid var(--line-light);padding:24px;background:#fff}
.footer-status__indicator{display:flex;align-items:center;gap:12px}
.footer-status__dot{width:8px;height:8px;background:#22c55e;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.4}}
.footer-status__label{font-size:10px;font-weight:700;letter-spacing:-0.02em}
.footer-status__sub{margin-top:16px;font-size:8px;opacity:0.3;font-weight:700;text-transform:uppercase}
.footer-bottom{max-width:var(--container);margin:128px auto 0;padding-top:32px;border-top:1px solid var(--line-light);display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:0.3em;font-weight:700;opacity:0.4}
.footer-bottom__taglines{display:flex;gap:32px;color:var(--red)}
@media(max-width:1024px){.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:16px;text-align:center}}

/* === COOKIE BANNER === */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--ink);color:#fff;padding:24px;z-index:9999;transform:translateY(100%);transition:transform .4s ease}
.cookie-banner.visible{transform:translateY(0)}
.cookie-banner__inner{max-width:var(--container);margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.cookie-banner__text{font-size:11px;opacity:0.7;max-width:40rem;line-height:1.6}
.cookie-banner__text a{color:var(--red);text-decoration:underline}
.cookie-banner__actions{display:flex;gap:12px}
.cookie-banner__btn{padding:10px 20px;font-size:10px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;cursor:pointer;font-family:var(--font-mono);border:none}
.cookie-banner__btn--necessary{background:transparent;color:#fff;border:1px solid rgba(255,255,255,0.3)}
.cookie-banner__btn--accept{background:var(--red);color:#fff}

/* === CONTACT PAGE === */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding:96px 0}
.contact-card{border:1px solid var(--line-light);padding:48px}
.contact-card__title{font-family:var(--font-headline);font-size:1.4rem;font-weight:900;text-transform:uppercase;margin-bottom:16px}
.contact-card__value{font-size:12px;opacity:0.7}
.contact-card__value a:hover{color:var(--red)}
@media(max-width:640px){.contact-grid{grid-template-columns:1fr}}

/* === SINGLE POST === */
.single-content{max-width:750px;margin:0 auto;padding:96px 24px}
.single-content h1{font-size:3rem;margin-bottom:32px}
.single-content p{font-size:14px;line-height:1.9;margin-bottom:24px}

/* === WP ADMIN BAR FIX === */
body.admin-bar .nav{margin-top:32px}
@media(max-width:782px){body.admin-bar .nav{margin-top:46px}}


/* === INTERIOR PAGES (Legal, About, Contact, Single) === */
.legal-document,.page-content,.single-content,.entry-content{
  max-width:750px;margin:0 auto;padding:80px 24px 96px;
}
.legal-document h1,.page-content h1,.entry-content h1{
  font-size:clamp(2.5rem,5vw,4rem);margin-bottom:16px;letter-spacing:0.05em;
}
.legal-document h2,.page-content h2,.entry-content h2{
  font-size:1.8rem;margin-top:48px;margin-bottom:16px;padding-bottom:8px;
  border-bottom:1px solid var(--line-light);letter-spacing:0.08em;
}
.legal-document h3,.page-content h3,.entry-content h3{
  font-size:1.3rem;margin-top:32px;margin-bottom:12px;letter-spacing:0.08em;
}
.legal-document h4,.page-content h4,.entry-content h4{
  font-size:1rem;margin-top:24px;margin-bottom:8px;letter-spacing:0.1em;
}
.legal-document p,.page-content p,.entry-content p{
  font-size:13px;line-height:2;margin-bottom:20px;max-width:65ch;
}
.legal-document ul,.legal-document ol,.page-content ul,.page-content ol,.entry-content ul,.entry-content ol{
  margin:16px 0 24px 24px;font-size:13px;line-height:2;
}
.legal-document ul{list-style:disc}
.legal-document ol{list-style:decimal}
.legal-document li,.page-content li,.entry-content li{margin-bottom:8px}
.legal-document a,.page-content a,.entry-content a{
  color:var(--red);text-decoration:underline;text-underline-offset:3px;
}
.legal-document a:hover,.page-content a:hover,.entry-content a:hover{opacity:0.7}
.legal-document strong,.page-content strong,.entry-content strong{font-weight:700}
.legal-document em,.page-content em,.entry-content em{font-style:italic}
.legal-document table,.page-content table,.entry-content table{
  width:100%;border-collapse:collapse;margin:24px 0;font-size:11px;
}
.legal-document th,.legal-document td,.page-content th,.page-content td,.entry-content th,.entry-content td{
  padding:12px 16px;border:1px solid var(--line-light);text-align:left;vertical-align:top;
}
.legal-document th,.page-content th,.entry-content th{
  font-weight:700;text-transform:uppercase;letter-spacing:0.1em;background:rgba(0,0,0,0.03);
}
.legal-document .legal-meta{font-size:11px;opacity:0.5;margin-bottom:48px}
.legal-document blockquote,.page-content blockquote,.entry-content blockquote{
  border-left:3px solid var(--red);padding:16px 24px;margin:24px 0;
  font-style:italic;opacity:0.8;
}
.legal-document code,.page-content code,.entry-content code{
  background:rgba(0,0,0,0.06);padding:2px 6px;font-size:12px;font-family:var(--font-mono);
}
.legal-document pre,.page-content pre,.entry-content pre{
  background:var(--ink);color:#fff;padding:24px;overflow-x:auto;
  margin:24px 0;font-size:12px;line-height:1.7;
}
.legal-document hr,.page-content hr,.entry-content hr{
  border:none;border-top:1px solid var(--line-light);margin:48px 0;
}

/* Page hero for interior pages */
.page-hero{padding:80px 24px 48px;max-width:var(--container);margin:0 auto}
.page-hero .annotation{margin-bottom:16px;display:block}
.page-hero h1{font-size:clamp(3rem,6vw,5rem);letter-spacing:0.05em}
.page-hero .page-hero__meta{font-size:11px;opacity:0.5;margin-top:12px}

/* Contact grid on interior */
.contact-section{max-width:var(--container);margin:0 auto;padding:0 24px 96px}

