/*
Theme Name: LimJ Media Official
Theme URI: https://limjmedia.com
Author: LimJ Media UG (haftungsbeschränkt)
Author URI: https://limjmedia.com
Description: Official LimJ Media WordPress theme. IONOS WordPress Upload Theme ready.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: Proprietary
Text Domain: limjmedia
*/

:root{--peach:#d7785c;--peach2:#eaa28d;--cream:#fff6f1;--dark:#171717;--muted:#6d625d;--line:#efd8ce;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,"Helvetica Neue",sans-serif;color:var(--dark);background:linear-gradient(180deg,#fffaf7,#fff,#fff6f1);line-height:1.65}
.header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 6vw;background:rgba(255,255,255,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.logo{width:74px;height:auto;display:block}.nav{display:flex;gap:26px}.nav a,.footer a{text-decoration:none;color:var(--dark);font-size:14px}.nav a:hover{color:var(--peach)}
.langs{display:flex;gap:6px;border:1px solid var(--line);border-radius:999px;padding:5px;background:#fff}.langs button{border:0;background:transparent;border-radius:999px;padding:7px 11px;cursor:pointer;font-weight:700;color:var(--muted)}.langs button.active{background:var(--peach);color:#fff}
.hero{min-height:680px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:40px;padding:88px 6vw 76px;max-width:1280px;margin:0 auto}
.eyebrow{margin:0 0 14px;color:var(--peach);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.15em}h1,h2,h3{margin:0;line-height:1.1}h1{font-family:Georgia,serif;font-size:clamp(44px,7vw,82px);letter-spacing:-.055em;max-width:760px}.lead{font-size:20px;color:var(--muted);max-width:650px;margin:26px 0 0}
.hero-buttons{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 23px;border-radius:999px;text-decoration:none;font-weight:800;border:0;cursor:pointer}.small{min-height:38px;padding:9px 15px}.primary{background:var(--peach);color:#fff;box-shadow:0 20px 45px rgba(215,120,92,.28)}.secondary{background:#fff;color:var(--dark);border:1px solid var(--line)}.light{background:#fff;color:var(--peach)}
.hero-visual{min-height:470px;border-radius:38px;position:relative;overflow:hidden;background:radial-gradient(circle at 72% 30%,rgba(215,120,92,.22),transparent 32%),linear-gradient(135deg,#fff,#fff0e8);border:1px solid var(--line);box-shadow:0 28px 80px rgba(90,49,38,.13)}
.globe{position:absolute;inset:38px;background:linear-gradient(90deg,rgba(215,120,92,.08) 1px,transparent 1px),linear-gradient(rgba(215,120,92,.08) 1px,transparent 1px);background-size:18px 18px;border-radius:50%;transform:rotate(-10deg)}.globe:after{content:"LimJ";position:absolute;inset:72px;border:2px solid var(--peach);border-radius:36px;display:grid;place-items:center;color:var(--peach);font-size:66px;font-weight:900;background:rgba(255,255,255,.6)}
.creator-card{position:absolute;left:36px;right:36px;bottom:36px;background:rgba(255,255,255,.88);border:1px solid var(--line);border-radius:24px;padding:22px;display:flex;gap:18px;align-items:center;box-shadow:0 18px 45px rgba(90,49,38,.12)}.camera{width:58px;height:58px;border-radius:18px;background:var(--peach)}.creator-card span{display:block;color:var(--peach);font-weight:800;font-size:13px}.creator-card strong{font-size:18px}
.about{display:grid;grid-template-columns:170px 1fr 1.2fr;gap:42px;align-items:center;max-width:1180px;margin:0 auto;padding:80px 6vw;border-top:1px solid var(--line)}.about-logo img{width:140px}.about h2,.title,.contact h2{font-family:Georgia,serif;font-size:clamp(30px,4.6vw,54px);letter-spacing:-.04em}.about p{color:var(--muted);font-size:18px}
.features{display:grid;grid-template-columns:1fr 1fr;gap:16px}.features article,.card,.brand-grid article,.legal-box{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:0 12px 34px rgba(90,49,38,.06)}.features b{display:block;margin-bottom:8px}.features span,.card p,.brand-grid p{color:var(--muted)}
.section{max-width:1180px;margin:0 auto;padding:80px 6vw}.center{text-align:center}.service-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:36px}.card{text-align:center;min-height:230px}.icon{font-size:34px;color:var(--peach);margin-bottom:10px}.card h3{font-size:19px;margin-bottom:10px}
.numbers{max-width:1180px;margin:0 auto;padding:40px 6vw;display:grid;grid-template-columns:repeat(4,1fr);text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.numbers strong{display:block;color:var(--peach);font-family:Georgia,serif;font-size:46px}.numbers span{font-weight:700}
.brand-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px;text-align:center}.brand-grid h3{font-family:Georgia,serif;font-size:30px}.brand-grid article:nth-child(2) h3{color:#e94d91;font-family:Arial,sans-serif;font-size:36px}
.contact{max-width:1180px;margin:40px auto 80px;padding:54px 6vw;border-radius:34px;background:linear-gradient(135deg,var(--peach),var(--peach2));color:#fff;display:flex;align-items:center;justify-content:space-between;gap:28px}.contact .eyebrow,.contact p{color:#fff}.contact p{font-size:18px;opacity:.9}
.footer{background:#171717;color:#eee;padding:38px 6vw;display:grid;grid-template-columns:110px 1fr auto;gap:34px;align-items:center}.footer img{width:82px}.footer p{margin:5px 0;color:#aaa}.footer a{color:#ddd;display:block;margin:6px 0}.link-button{background:transparent;border:0;color:#ddd;display:block;margin:6px 0;padding:0;cursor:pointer}
.reveal{opacity:0;transform:translateY(22px);transition:all .75s ease}.reveal.visible{opacity:1;transform:translateY(0)}
.cookie-banner{position:fixed;left:24px;right:24px;bottom:24px;z-index:50;background:#fff;border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:0 18px 60px rgba(0,0,0,.16);display:none;align-items:center;justify-content:space-between;gap:20px}.cookie-banner.show{display:flex}.cookie-banner p{margin:4px 0 0;color:var(--muted)}.cookie-actions{display:flex;gap:10px;flex-wrap:wrap}
.legal-main{max-width:980px;margin:0 auto;padding:70px 6vw}.legal-main h1{font-size:clamp(38px,6vw,64px)}.legal-box{margin-top:28px}.legal-box h2{font-family:Georgia,serif;font-size:30px;margin-top:32px}.legal-box h2:first-child{margin-top:0}.legal-box p,.legal-box li{color:var(--muted)}.placeholder{background:#fff1ea;color:#9c432c;padding:2px 6px;border-radius:6px;font-weight:700}
@media(max-width:980px){.header{flex-wrap:wrap}.nav{order:3;width:100%;justify-content:center;flex-wrap:wrap}.hero,.about{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr 1fr}.numbers{grid-template-columns:1fr 1fr;gap:24px}}
@media(max-width:620px){.header{padding:12px 20px}.logo{width:62px}.hero,.section,.about,.legal-main{padding-left:20px;padding-right:20px}.hero{padding-top:54px;min-height:auto}.hero-buttons,.contact,.cookie-banner{flex-direction:column;align-items:stretch}.btn{width:100%}.hero-visual{min-height:360px}.service-grid,.brand-grid,.features,.numbers,.footer{grid-template-columns:1fr}.footer{text-align:center}.footer img{margin:0 auto}}

.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}
.portfolio-grid article{background:linear-gradient(160deg,#fff,#fff2ec);border:1px solid var(--line);border-radius:28px;padding:28px;min-height:230px;box-shadow:0 12px 34px rgba(90,49,38,.06)}
.portfolio-grid span{display:inline-flex;color:#fff;background:var(--peach);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:800;margin-bottom:20px}
.portfolio-grid h3{font-family:Georgia,serif;font-size:28px;margin-bottom:12px}
.portfolio-grid p{color:var(--muted)}
.contact-form{background:rgba(255,255,255,.17);border:1px solid rgba(255,255,255,.35);border-radius:26px;padding:22px;display:grid;gap:12px;min-width:320px}
.contact-form input,.contact-form textarea{width:100%;border:0;border-radius:16px;padding:14px 16px;font:inherit;color:var(--dark);background:#fff}
.contact-form textarea{resize:vertical}
@media(max-width:980px){.portfolio-grid{grid-template-columns:1fr}}
@media(max-width:620px){.contact-form{min-width:0}}


/* Version 5 anchor fix:
   When clicking sticky menu links, the section starts lower so the title is not hidden behind the fixed header. */
#home,
#about,
#services,
#brands,
#portfolio,
#contact {
  scroll-margin-top: 150px;
}

.section,
.about,
.contact {
  scroll-margin-top: 150px;
}

/* Give large section titles a little more breathing room after anchor jumps. */
.section {
  padding-top: 110px;
}

/* Prevent very large German headlines from looking cropped too close to the top. */
.title {
  line-height: 1.18;
  padding-top: 6px;
}

@media (max-width: 980px) {
  #home,
  #about,
  #services,
  #brands,
  #portfolio,
  #contact,
  .section,
  .about,
  .contact {
    scroll-margin-top: 190px;
  }
}

@media (max-width: 620px) {
  #home,
  #about,
  #services,
  #brands,
  #portfolio,
  #contact,
  .section,
  .about,
  .contact {
    scroll-margin-top: 170px;
  }
}


/* Version 6 design refinement:
   Text-based brand instead of logo image, no LimJ logo-like hero mark, KPOPN in black. */

.text-brand{
  font-family: Georgia, "Times New Roman", serif;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: -0.045em;
  color: var(--peach);
  text-decoration: none;
  white-space: nowrap;
}
.text-brand::after{
  content:"";
  display:block;
  width:52px;
  height:1px;
  margin-top:4px;
  background:var(--peach);
}
.logo-wrap,.logo,.about-logo{display:none!important}

.about{
  grid-template-columns:1fr 1.2fr;
}

.clean-visual{
  background:
    radial-gradient(circle at 32% 34%, rgba(215,120,92,.18), transparent 30%),
    radial-gradient(circle at 78% 26%, rgba(234,162,141,.24), transparent 28%),
    linear-gradient(135deg,#fff,#fff0e8);
}
.globe{display:none!important}
.clean-visual::before{
  content:"";
  position:absolute;
  width:62%;
  height:62%;
  left:18%;
  top:13%;
  border:1px solid rgba(215,120,92,.35);
  border-radius:42px;
  transform:rotate(-8deg);
  background:
    linear-gradient(90deg,rgba(215,120,92,.08) 1px,transparent 1px),
    linear-gradient(rgba(215,120,92,.08) 1px,transparent 1px);
  background-size:22px 22px;
}
.clean-visual::after{
  content:"";
  position:absolute;
  width:46%;
  height:46%;
  right:11%;
  top:16%;
  border-radius:50%;
  border:1px solid rgba(215,120,92,.22);
}
.orb{
  position:absolute;
  border-radius:999px;
  background:rgba(215,120,92,.18);
}
.orb-one{width:82px;height:82px;left:15%;bottom:22%}
.orb-two{width:44px;height:44px;right:24%;bottom:31%;background:rgba(215,120,92,.25)}
.visual-line{
  position:absolute;
  left:18%;
  right:16%;
  top:52%;
  height:2px;
  background:linear-gradient(90deg,transparent,var(--peach),transparent);
  opacity:.55;
}
.brand-grid article:nth-child(2) h3{
  color:var(--dark)!important;
  font-family:Georgia,serif!important;
  font-size:30px!important;
}
.footer{
  grid-template-columns:180px 1fr auto;
}
.footer-brand{
  font-family: Georgia, "Times New Roman", serif;
  font-size:30px;
  font-weight:700;
  letter-spacing:-.045em;
  color:var(--peach);
}
.footer-brand::after{
  content:"";
  display:block;
  width:70px;
  height:1px;
  margin:8px auto 0 0;
  background:var(--peach);
}

@media(max-width:980px){
  .about{grid-template-columns:1fr}
}
@media(max-width:620px){
  .text-brand{font-size:24px}
  .footer{grid-template-columns:1fr}
  .footer-brand::after{margin-left:auto;margin-right:auto}
}


/* Version 7 final design update: LimJ peach + Media black, hero image, live channel/shop links. */
.text-brand{
  display:inline-flex;
  align-items:baseline;
  gap:8px;
}
.text-brand span{
  color:var(--peach);
  font-family:Georgia, "Times New Roman", serif;
  font-weight:800;
}
.text-brand strong{
  color:var(--dark);
  font-family:Arial, "Helvetica Neue", sans-serif;
  font-weight:800;
  letter-spacing:-0.06em;
}
.text-brand::after{display:none!important}

.footer-brand span{
  color:var(--peach);
  font-family:Georgia, "Times New Roman", serif;
  font-weight:800;
}
.footer-brand strong{
  color:#fff;
  font-family:Arial, "Helvetica Neue", sans-serif;
  font-weight:800;
  letter-spacing:-0.06em;
}
.footer-brand::after{display:none!important}

.image-visual{
  padding:0!important;
  overflow:hidden;
  border-radius:38px;
  background:#fff;
}
.image-visual img{
  width:100%;
  height:100%;
  min-height:470px;
  object-fit:cover;
  display:block;
}
.image-visual::before,
.image-visual::after,
.clean-visual::before,
.clean-visual::after,
.orb,
.visual-line{
  display:none!important;
}

.brand-grid-four{
  grid-template-columns:repeat(4,1fr);
}
.brand-grid article:nth-child(2) h3{
  color:var(--dark)!important;
  font-family:Georgia,serif!important;
  font-size:30px!important;
}
.handle{
  color:var(--peach)!important;
  font-weight:800;
  margin:12px 0!important;
}
.brand-link{
  display:inline-flex;
  margin-top:18px;
  padding:10px 16px;
  border:1px solid var(--line);
  border-radius:999px;
  color:var(--peach);
  text-decoration:none;
  font-weight:800;
  background:#fff;
}
.brand-link:hover{
  background:var(--peach);
  color:#fff;
}

@media(max-width:980px){
  .brand-grid-four{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .brand-grid-four{grid-template-columns:1fr}
  .image-visual img{min-height:340px}
}


/* Version 8 final: remove hero image box feeling and reorder channel cards. */
.hero{
  grid-template-columns: 0.95fr 1.05fr;
}
.image-visual{
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
  border-radius:0!important;
  min-height:520px;
}
.image-visual img{
  border-radius:0!important;
  object-fit:cover;
  object-position:center;
  min-height:520px;
}
.brand-grid-four article:nth-child(2) h3{
  color:var(--dark)!important;
  font-family:Georgia,serif!important;
  font-size:30px!important;
}
@media(max-width:980px){
  .hero{grid-template-columns:1fr}
  .image-visual{min-height:420px}
  .image-visual img{min-height:420px}
}
@media(max-width:620px){
  .image-visual{min-height:320px}
  .image-visual img{min-height:320px}
}
