/*
Theme Name: Ads By Amit
Theme URI: https://adsbyamit.com
Author: Amit Sharma
Author URI: https://adsbyamit.com
Description: Custom portfolio theme for Amit Sharma, Performance Marketing Specialist. Built for adsbyamit.com.
Version: 1.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: adsbyamit
*/

/* ==========================================================================
   adsbyamit.com — shared stylesheet (used by every page)
   ========================================================================== */
:root{
  --bg:#FFFFFF;
  --bg-alt:#F5F6F9;
  --ink:#1E2733;
  --ink-dim:#5C6675;
  --ink-dimmer:#8B93A0;
  --line:#E7E9EF;
  --line-strong:#D7DAE2;
  --card:#FFFFFF;
  --shadow:0 10px 30px rgba(30,39,51,0.07);
  --shadow-sm:0 4px 14px rgba(30,39,51,0.06);

  --purple:#6C3FC5;
  --green:#1FAE6E;
  --red:#E5493F;
  --orange:#F0873A;
  --yellow:#F2B93E;
  --blue:#3D6DF2;

  --brand:#F0663B;
  --brand-dark:#D6501F;
  --radius:10px;
  --maxw:1180px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:'Inter',sans-serif; font-size:16px; line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:'Space Grotesk',sans-serif; margin:0; color:var(--ink);
  line-height:1.14; letter-spacing:-0.01em;
}
p{margin:0;}
a{color:inherit; text-decoration:none;}
ul{margin:0; padding:0; list-style:none;}
img{max-width:100%; display:block;}
.mono{font-family:'IBM Plex Mono',monospace;}
:focus-visible{outline:2px solid var(--brand); outline-offset:3px;}

.wrap{max-width:var(--maxw); margin:0 auto; padding:0 32px;}
section{padding:104px 0;}
@media (max-width:720px){
  section{padding:64px 0;}
  .wrap{padding:0 20px;}
}
.bg-alt{background:var(--bg-alt);}

.eyebrow{
  font-size:14px; font-weight:600; color:var(--brand);
  margin-bottom:12px; display:block;
}

/* ---------- NAV ---------- */
header.site-nav{
  position:fixed; top:0; left:0; right:0; z-index:100;
  background:rgba(255,255,255,0.9); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav-inner{
  max-width:var(--maxw); margin:0 auto; padding:0 32px;
  display:flex; align-items:center; justify-content:space-between; height:72px;
}
.logo{
  font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:19px;
  display:flex; align-items:center; gap:10px; color:var(--ink);
}
.logo-mark{
  width:11px; height:11px; border-radius:50%;
  background:conic-gradient(var(--purple),var(--green),var(--red),var(--orange),var(--yellow),var(--purple));
}
nav.primary-links{display:flex; gap:34px;}
nav.primary-links a{
  font-size:14.5px; color:var(--ink-dim); font-weight:500; padding:4px 0;
  border-bottom:2px solid transparent; transition:color .18s ease, border-color .18s ease;
}
nav.primary-links a:hover{color:var(--ink); border-color:var(--brand);}
nav.primary-links a.active{color:var(--ink); border-color:var(--brand);}
.nav-cta{
  font-size:14px; font-weight:600; color:#fff; background:var(--brand);
  padding:11px 20px; border-radius:8px; transition:background .18s ease;
}
.nav-cta:hover{background:var(--brand-dark);}
.nav-toggle{display:none;}
@media (max-width:900px){
  nav.primary-links, .nav-cta.desktop-only{display:none;}
  .nav-toggle{display:block; background:#fff; border:1px solid var(--line-strong); color:var(--ink); padding:8px 14px; border-radius:8px; font-size:14px;}
  .mobile-menu{display:none; flex-direction:column; background:#fff; border-bottom:1px solid var(--line); padding:8px 20px 20px;}
  .mobile-menu.open{display:flex;}
  .mobile-menu a{padding:12px 0; border-bottom:1px solid var(--line); font-size:15px; color:var(--ink-dim);}
  .mobile-menu a.active{color:var(--brand);}
}

/* ---------- HERO (home page only) ---------- */
.hero{
  padding:168px 0 88px; display:grid; grid-template-columns:1.1fr 0.9fr; gap:56px; align-items:center;
}
@media (max-width:960px){.hero{grid-template-columns:1fr; padding-top:136px;}}
.hero h1{font-size:clamp(32px,4.4vw,54px); font-weight:600;}
.hero .sub{margin-top:20px; font-size:18px; color:var(--ink-dim); max-width:520px; line-height:1.65;}
.hero .cta-row{margin-top:32px; display:flex; gap:14px; flex-wrap:wrap;}
.btn{
  display:inline-flex; align-items:center; gap:8px; padding:14px 24px; border-radius:8px;
  font-weight:600; font-size:14.5px; transition:transform .16s ease, background .16s ease, border-color .16s ease, color .16s ease;
}
.btn-primary{background:var(--brand); color:#fff;}
.btn-primary:hover{background:var(--brand-dark); transform:translateY(-1px);}
.btn-ghost{border:1.5px solid var(--line-strong); color:var(--ink);}
.btn-ghost:hover{border-color:var(--brand); color:var(--brand);}

.hero-panel{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:26px 24px; box-shadow:var(--shadow);}
.hero-panel .panel-head{
  display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; padding-bottom:14px; border-bottom:1px solid var(--line);
}
.hero-panel .panel-head span{font-size:12.5px; color:var(--ink-dimmer);}
.live-dot{width:7px; height:7px; background:var(--green); border-radius:50%; display:inline-block; margin-right:7px; box-shadow:0 0 0 3px rgba(31,174,110,0.16);}
.bar-row{margin-bottom:16px;}
.bar-row:last-child{margin-bottom:0;}
.bar-label{display:flex; justify-content:space-between; font-size:13.5px; margin-bottom:7px;}
.bar-label b{font-weight:500; color:var(--ink-dim);}
.bar-label .val{color:var(--ink); font-weight:700;}
.bar-track{height:7px; background:var(--bg-alt); border-radius:4px; overflow:hidden;}
.bar-fill{height:100%; width:0%; border-radius:4px; transition:width 1.1s cubic-bezier(.2,.7,.2,1);}
.bar-row[data-c="purple"] .bar-fill{background:var(--purple);}
.bar-row[data-c="green"] .bar-fill{background:var(--green);}
.bar-row[data-c="red"] .bar-fill{background:var(--red);}
.bar-row[data-c="orange"] .bar-fill{background:var(--orange);}
.bar-row[data-c="blue"] .bar-fill{background:var(--blue);}

.trust-strip{border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:24px 0; text-align:center;}
.trust-strip p{font-size:13.5px; color:var(--ink-dimmer);}
.trust-strip b{color:var(--ink-dim); font-weight:600;}

/* ---------- PAGE HEADER (about / services / portfolio / resume / contact) ---------- */
.page-header{padding:152px 0 56px;}
.page-header .eyebrow{margin-bottom:14px;}
.page-header h1{font-size:clamp(30px,4vw,46px); font-weight:600; max-width:760px;}
.page-header p{margin-top:18px; font-size:17px; color:var(--ink-dim); max-width:620px; line-height:1.7;}
.crumb{font-size:13px; color:var(--ink-dimmer); margin-bottom:18px;}
.crumb a{color:var(--ink-dimmer);}
.crumb a:hover{color:var(--brand);}

/* ---------- SECTION HEAD ---------- */
.section-head{max-width:640px; margin-bottom:52px;}
.center{margin-left:auto; margin-right:auto; text-align:center;}
.section-head h2{font-size:clamp(26px,3.2vw,36px); font-weight:600;}
.section-head .lead{margin-top:16px; font-size:16.5px; color:var(--ink-dim); line-height:1.7;}

/* ---------- ABOUT ---------- */
.about-grid{display:grid; grid-template-columns:0.82fr 1.18fr; gap:60px; align-items:start;}
@media (max-width:900px){.about-grid{grid-template-columns:1fr;}}
.about-photo{border-radius:var(--radius); overflow:hidden; border:1px solid var(--line); box-shadow:var(--shadow); position:sticky; top:100px; aspect-ratio:3/4;}
@media (max-width:900px){.about-photo{position:static;}}
.about-copy p{color:var(--ink-dim); margin-bottom:18px; font-size:16px; line-height:1.75;}
.about-copy p b{color:var(--ink); font-weight:600;}
.about-copy h3{font-size:19px; font-weight:600; margin:32px 0 14px;}
.about-copy ul{margin-bottom:20px;}
.about-copy ul li{position:relative; padding-left:22px; margin-bottom:10px; color:var(--ink-dim); font-size:15.5px; line-height:1.6;}
.about-copy ul li::before{content:"●"; position:absolute; left:0; top:1px; color:var(--brand); font-size:8px;}
.not-for{background:var(--bg-alt); border:1px solid var(--line); border-radius:var(--radius); padding:24px 26px; margin-top:8px;}
.not-for h3{margin-top:0;}
.not-for li::before{content:"●"; color:var(--red);}

/* ---------- GROWTH WHEEL / 5 STEPS ---------- */
.wheel-strip{display:grid; grid-template-columns:repeat(5,1fr); gap:18px;}
@media (max-width:960px){.wheel-strip{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.wheel-strip{grid-template-columns:1fr;}}
.petal{
  border-radius:16px; padding:26px 22px; color:#fff; position:relative; overflow:hidden;
  min-height:190px; display:flex; flex-direction:column; justify-content:space-between;
}
.petal .num{font-family:'Space Grotesk',sans-serif; font-size:38px; font-weight:700; opacity:0.9;}
.petal .icon{width:30px; height:30px; margin-bottom:10px;}
.petal h4{color:#fff; font-size:17px; font-weight:600; margin-bottom:6px;}
.petal p{color:rgba(255,255,255,0.88); font-size:13.5px; line-height:1.5;}
.petal.c1{background:linear-gradient(150deg,var(--purple),#8A5FE0);}
.petal.c2{background:linear-gradient(150deg,var(--green),#3FCB8C);}
.petal.c3{background:linear-gradient(150deg,var(--red),#F06A5F);}
.petal.c4{background:linear-gradient(150deg,var(--orange),#F5A75E);}
.petal.c5{background:linear-gradient(150deg,#E0A21E,var(--yellow));}

/* ---------- TESTIMONIALS ---------- */
.testi-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:20px;}
@media (max-width:760px){.testi-grid{grid-template-columns:1fr;}}
.testi{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:28px 26px; box-shadow:var(--shadow-sm);}
.testi p.quote{font-size:15.5px; color:var(--ink-dim); line-height:1.7; margin-bottom:20px;}
.testi-who{display:flex; align-items:center; gap:12px;}
.testi-who .avatar{width:44px; height:44px; border-radius:50%; overflow:hidden; border:2px solid var(--bg-alt); flex-shrink:0;}
.testi-who .avatar img{width:100%; height:100%; object-fit:cover;}
.testi-who .name{font-weight:600; font-size:14.5px; color:var(--ink);}
.testi-who .role{font-size:12.5px; color:var(--ink-dimmer);}

/* ---------- SERVICES ---------- */
.service-block{border-top:1px solid var(--line); padding:44px 0;}
.service-block:first-of-type{border-top:none;}
.service-head{display:grid; grid-template-columns:1fr 1.6fr; gap:40px;}
@media (max-width:800px){.service-head{grid-template-columns:1fr;}}
.service-head h3{font-size:23px; font-weight:600;}
.service-head .tag{font-size:13px; font-weight:600; display:inline-block; margin-bottom:10px; padding:4px 12px; border-radius:20px;}
.tag.t-orange{background:rgba(240,135,58,0.12); color:var(--brand-dark);}
.tag.t-blue{background:rgba(61,109,242,0.1); color:var(--blue);}
.tag.t-purple{background:rgba(108,63,197,0.1); color:var(--purple);}
.service-head .pitch{color:var(--ink-dim); font-size:16px; line-height:1.7; margin-bottom:18px;}
.chip-list{display:flex; flex-wrap:wrap; gap:9px;}
.chip{border:1px solid var(--line-strong); border-radius:20px; padding:7px 14px; font-size:13px; color:var(--ink-dim); background:var(--bg-alt);}
.outcome-row{display:flex; gap:26px; margin-top:20px; flex-wrap:wrap;}
.outcome-row span{font-size:14px; color:var(--green); font-weight:600; display:flex; align-items:center; gap:6px;}
.outcome-row span::before{content:"↑"; font-weight:700;}

.capability-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:52px;}
@media (max-width:900px){.capability-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.capability-grid{grid-template-columns:1fr;}}
.capability{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:24px 22px; box-shadow:var(--shadow-sm);}
.capability h4{font-size:15px; font-weight:600; margin-bottom:14px;}
.capability li{font-size:13.5px; color:var(--ink-dim); margin-bottom:8px; line-height:1.5;}

/* ---------- RESULTS / PORTFOLIO ---------- */
.results-group{margin-bottom:48px;}
.results-group:last-child{margin-bottom:0;}
.results-group-title{font-size:14px; font-weight:600; color:var(--ink); padding-bottom:14px; border-bottom:2px solid var(--line); margin-bottom:22px;}
.case-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
@media (max-width:900px){.case-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.case-grid{grid-template-columns:1fr;}}
.case-card{border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; background:#fff; box-shadow:var(--shadow-sm); transition:transform .18s ease, box-shadow .18s ease;}
.case-card:hover{transform:translateY(-3px); box-shadow:var(--shadow);}
.case-card .thumb{aspect-ratio:16/10; overflow:hidden; background:var(--bg-alt);}
.case-card .thumb img{width:100%; height:100%; object-fit:cover; transition:transform .35s ease;}
.case-card:hover .thumb img{transform:scale(1.04);}
.case-card .case-title{padding:16px 18px; font-size:14.5px; font-weight:500; color:var(--ink-dim);}
.case-card:hover .case-title{color:var(--ink);}

/* ---------- RESUME ---------- */
.resume-grid{display:grid; grid-template-columns:1.4fr 1fr; gap:60px; align-items:start;}
@media (max-width:900px){.resume-grid{grid-template-columns:1fr;}}
.timeline-item{border-left:2px solid var(--line); padding:0 0 36px 26px; position:relative;}
.timeline-item:last-child{padding-bottom:0;}
.timeline-item::before{content:""; position:absolute; left:-6px; top:5px; width:10px; height:10px; background:var(--brand); border-radius:50%;}
.timeline-item .dates{font-size:12.5px; font-weight:600; color:var(--brand); margin-bottom:6px;}
.timeline-item h4{font-size:17px; font-weight:600;}
.timeline-item .org{font-size:14px; color:var(--ink-dimmer); margin:4px 0 12px;}
.timeline-item p{font-size:14.5px; color:var(--ink-dim); line-height:1.7; white-space:pre-line;}

.resume-sub{margin-top:44px;}
.resume-sub h3{font-size:16px; font-weight:600; margin-bottom:20px; padding-bottom:12px; border-bottom:1px solid var(--line);}
.edu-item{margin-bottom:18px;}
.edu-item .dates{font-size:12px; font-weight:600; color:var(--ink-dimmer);}
.edu-item h4{font-size:15px; font-weight:600; margin:4px 0 2px;}
.edu-item .org{font-size:13.5px; color:var(--ink-dim);}

.skills-panel{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:26px 24px; margin-top:36px; box-shadow:var(--shadow-sm);}
.skills-panel h3{font-size:15px; font-weight:600; margin-bottom:18px;}

/* ---------- CONTACT ---------- */
.contact-grid{display:grid; grid-template-columns:0.8fr 1.2fr; gap:60px;}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr;}}
.info-row{display:flex; justify-content:space-between; padding:14px 0; border-bottom:1px solid var(--line); font-size:14.5px;}
.info-row span:first-child{color:var(--ink-dimmer);}
.info-row span:last-child{color:var(--ink); text-align:right; font-weight:500;}
.info-row a:hover{color:var(--brand);}

form.contact-form .field{margin-bottom:18px;}
form.contact-form .row-2{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
@media (max-width:560px){form.contact-form .row-2{grid-template-columns:1fr;}}
form.contact-form label{display:block; font-size:13px; color:var(--ink-dimmer); margin-bottom:8px; font-weight:500;}
form.contact-form input, form.contact-form select, form.contact-form textarea{
  width:100%; background:#fff; border:1.5px solid var(--line-strong); color:var(--ink);
  padding:13px 14px; border-radius:8px; font-family:'Inter',sans-serif; font-size:14.5px;
}
form.contact-form input:focus, form.contact-form select:focus, form.contact-form textarea:focus{border-color:var(--brand); outline:none;}
form.contact-form textarea{resize:vertical; min-height:120px;}
form.contact-form button{margin-top:6px; width:100%; justify-content:center; border:none; cursor:pointer; font-family:'Inter',sans-serif;}
.form-note{font-size:12.5px; color:var(--ink-dimmer); margin-top:12px;}

/* ---------- MINI CTA BAND (used on sub-pages) ---------- */
.cta-band{background:linear-gradient(150deg,var(--purple),#8A5FE0); border-radius:20px; padding:48px 44px; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; color:#fff;}
.cta-band h3{color:#fff; font-size:24px; font-weight:600; max-width:460px;}
.cta-band p{color:rgba(255,255,255,0.85); margin-top:8px; font-size:14.5px;}
.cta-band .btn-primary{background:#fff; color:var(--purple);}
.cta-band .btn-primary:hover{background:rgba(255,255,255,0.9); color:var(--purple);}

/* ---------- IMAGE PLACEHOLDER (shows until real photos are uploaded) ---------- */
.img-placeholder{
  width:100%; height:100%; min-height:140px; display:flex; flex-direction:column; align-items:center;
  justify-content:center; gap:8px; background:var(--bg-alt); border:1.5px dashed var(--line-strong);
  color:var(--ink-dimmer); font-size:12.5px; text-align:center; padding:14px; border-radius:inherit;
}
.img-placeholder .ph-icon{width:26px; height:26px; opacity:0.55;}
.img-placeholder .ph-label{font-weight:600; color:var(--ink-dim);}
.img-placeholder .ph-path{font-family:'IBM Plex Mono',monospace; font-size:11px; word-break:break-all;}

/* Compact variant for small circular slots (testimonial avatars) — icon only, no overflowing text */
.img-placeholder-sm{min-height:0; padding:0; border-style:solid; border-width:1px; gap:0;}
.img-placeholder-sm .ph-icon{width:18px; height:18px; opacity:0.45;}

/* ---------- FOOTER ---------- */
footer{border-top:1px solid var(--line); padding:36px 0; background:var(--bg-alt);}
.footer-inner{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px;}
.social-row{display:flex; gap:14px;}
.social-row a{
  width:38px; height:38px; border:1px solid var(--line-strong); border-radius:50%; background:#fff;
  display:flex; align-items:center; justify-content:center; transition:border-color .18s ease, color .18s ease;
  color:var(--ink-dim);
}
.social-row a:hover{border-color:var(--brand); color:var(--brand);}
footer .copy{font-size:13px; color:var(--ink-dimmer);}
