/* Trust Legalitas Custom CSS for Astra Free */
/* Paste SELURUH file ini ke Appearance > Customize > Additional CSS */

/* === Variables === */
:root {
  --tl-red: #7B1515;
  --tl-rl: #FBF5F5;
  --tl-rb: #e8d0d0;
  --tl-gb: #f9f9f9;
  --tl-ge: #eee;
  --tl-gt: #666;
}

/* === Astra page reset === */
.page .ast-container{max-width:100%;padding:0}
.page #primary{padding:0;margin:0}
.page .entry-content{margin:0;padding:0}
.page article.ast-article-single{padding:0;background:transparent}
.page .entry-header{display:none}
.page .ast-separate-container .ast-article-single{padding:0;background:transparent}

/* === Section === */
.tl-section{padding:48px 0}
.tl-section-alt{background:var(--tl-gb)}
.tl-container{max-width:1100px;margin:0 auto;padding:0 24px}

/* === Typography === */
.eyebrow{font-size:12px;font-weight:700;color:var(--tl-red);text-transform:uppercase;letter-spacing:1.2px;margin-bottom:8px}
.section-title{font-family:'Playfair Display',serif!important;font-size:clamp(22px,3.2vw,28px)!important;color:#1a1a1a;line-height:1.28;margin-bottom:12px}
.section-sub{font-size:14px;color:var(--tl-gt);line-height:1.7;margin-bottom:22px;max-width:540px}
.section-bar{height:3px;width:40px;background:var(--tl-red);border-radius:2px;margin-bottom:28px}

/* === Grid === */
.tl-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.tl-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}

/* === Cards === */
.tl-card{background:#fff;border:1px solid var(--tl-ge);border-radius:12px;padding:22px;transition:border-color .2s,box-shadow .2s}
.tl-card:hover{border-color:var(--tl-rb);box-shadow:0 4px 16px rgba(123,21,21,.06)}
.card-icon{width:44px;height:44px;background:var(--tl-rl);border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;color:var(--tl-red);font-size:20px}

/* === Buttons === */
.tl-btn{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:14px;padding:12px 24px;border-radius:8px;cursor:pointer;border:none;text-decoration:none!important;transition:opacity .15s}
.tl-btn:hover{opacity:.88;text-decoration:none!important}
.tl-btn-primary{background:var(--tl-red);color:#fff!important}
.tl-btn-white{background:#fff;color:var(--tl-red)!important}
.tl-btn-outline-white{background:0 0;color:#fff!important;border:1.5px solid rgba(255,255,255,.5)}
.tl-btn-outline-red{background:0 0;color:var(--tl-red)!important;border:1.5px solid var(--tl-red)}

/* === Hero === */
.hero{background:var(--tl-red);padding:48px 0;margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%)}
.hero .tl-container{max-width:1100px;margin:0 auto;padding:0 24px}
.hero__badge{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);color:rgba(255,255,255,.9);font-size:11px;padding:5px 14px;border-radius:20px;margin-bottom:18px;width:fit-content}
.hero__title{font-family:'Playfair Display',serif!important;font-size:clamp(28px,4.5vw,40px)!important;color:#fff!important;line-height:1.2;margin-bottom:16px}
.hero__sub{color:rgba(255,255,255,.78);font-size:14px;line-height:1.75;margin-bottom:28px;max-width:500px}
.hero__btns{display:flex;gap:12px;flex-wrap:wrap}

/* === Stat === */
.stat-strip{background:#fff;border-bottom:1px solid #f0f0f0;padding:24px 0;margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%)}
.stat-strip .tl-container{display:grid;grid-template-columns:repeat(4,1fr);max-width:1100px;margin:0 auto;padding:0 24px}
.stat-item{text-align:center;padding:0 12px;border-right:1px solid #eee}
.stat-item:last-child{border-right:none}
.stat-num{font-family:'Playfair Display',serif;font-size:28px;font-weight:700;color:var(--tl-red);display:block}
.stat-label{font-size:12px;color:#999;margin-top:3px;display:block}

/* === Featured Strip === */
.feat-strip{background:var(--tl-rl);border-bottom:1px solid var(--tl-rb);padding:13px 0;margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%)}
.feat-strip .tl-container{display:flex;align-items:center;gap:14px;flex-wrap:wrap;max-width:1100px;margin:0 auto;padding:0 24px}
.feat-label{font-size:11px;font-weight:700;color:var(--tl-red);text-transform:uppercase;letter-spacing:.8px;white-space:nowrap}
.feat-divider{width:1px;height:20px;background:#ddd;flex-shrink:0}
.feat-chip,.feat-chip--new{background:#fff;border:1px solid var(--tl-rb);color:var(--tl-red);font-size:11px;font-weight:600;padding:5px 13px;border-radius:20px;display:inline-block}
.feat-chip--new{background:var(--tl-rl)}

/* === Pain === */
.pain-title{font-size:14px;font-weight:600;margin-bottom:8px}
.pain-list{list-style:none!important;padding:0!important;margin:0!important}
.pain-list li{font-size:12px;color:var(--tl-gt);line-height:1.55;padding-left:14px;position:relative;margin-bottom:4px;list-style:none!important}
.pain-list li::before{content:'';width:5px;height:5px;background:var(--tl-red);border-radius:50%;position:absolute;left:0;top:6px}
.pain-list li::marker{display:none}
.pain-solution{margin-top:12px;padding-top:12px;border-top:1px solid #f5f5f5;font-size:12px;color:var(--tl-red);font-weight:500;display:flex;align-items:flex-start;gap:7px;line-height:1.55}

/* === Manfaat === */
.manfaat-item{background:var(--tl-rl);border-radius:10px;padding:14px 16px;display:flex;align-items:flex-start;gap:12px;margin-bottom:10px}
.manfaat-item:last-child{margin-bottom:0}
.manfaat-icon{width:36px;height:36px;background:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--tl-red);font-size:17px}
.manfaat-title{font-size:13px;font-weight:600;margin-bottom:2px}
.manfaat-sub{font-size:11px;color:#777;line-height:1.5}

/* === Klasifikasi === */
.klas-card{background:#fff;border:1px solid var(--tl-ge);border-radius:12px;padding:18px}
.klas-icon{width:36px;height:36px;background:var(--tl-rl);border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:10px;color:var(--tl-red);font-size:17px}
.klas-name{font-size:13px;font-weight:600;margin-bottom:7px}
.klas-sub{font-size:11px;color:#888;padding-left:10px;position:relative;margin-bottom:3px}
.klas-sub::before{content:'';width:3px;height:3px;background:#ccc;border-radius:50%;position:absolute;left:0;top:6px}
.hukum-box{background:#fff;border:1px solid var(--tl-ge);border-radius:10px;padding:20px;margin-top:16px}
.hukum-title{font-size:13px;font-weight:600;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.hukum-item{font-size:12px;color:var(--tl-gt);line-height:1.6;display:flex;align-items:flex-start;gap:10px;margin-bottom:8px}
.hukum-item:last-child{margin-bottom:0}
.hukum-num{min-width:20px;height:20px;background:var(--tl-red);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#fff;flex-shrink:0}

/* === Bundle === */
.bundle-section{background:var(--tl-red);padding:48px 0;margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%)}
.bundle-section .tl-container{max-width:1100px;margin:0 auto;padding:0 24px}
.bundle-eyebrow{font-size:11px;font-weight:700;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}
.bundle-title{font-family:'Playfair Display',serif;font-size:clamp(20px,3vw,26px);color:#fff;line-height:1.28;margin-bottom:10px}
.bundle-sub{font-size:14px;color:rgba(255,255,255,.72);line-height:1.65;margin-bottom:28px;max-width:480px}
.bundle-card{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:20px}
.bundle-card--highlight{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.4)}
.bundle-badge{font-size:10px;font-weight:700;color:rgba(255,255,255,.55);text-transform:uppercase;letter-spacing:.7px;margin-bottom:6px}
.bundle-name{font-size:14px;font-weight:600;color:#fff;line-height:1.3;margin-bottom:10px}
.bundle-items{display:flex;flex-direction:column;gap:5px}
.bundle-item{font-size:12px;color:rgba(255,255,255,.75);display:flex;align-items:flex-start;gap:7px;line-height:1.45}
.bundle-note{font-size:11px;color:rgba(255,255,255,.5);font-style:italic;margin:16px 0}

/* === Service/Why/Process/FAQ/Testi === */
.service-name,.why-title{font-size:14px;font-weight:600;margin-bottom:5px}
.service-desc,.why-desc{font-size:12px;color:#888;line-height:1.55}
.service-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}
.service-tag{font-size:10px;color:var(--tl-red);background:var(--tl-rl);border-radius:4px;padding:2px 8px;font-weight:500}
.service-badge{display:inline-block;background:var(--tl-rl);color:var(--tl-red);font-size:10px;font-weight:600;padding:2px 9px;border-radius:10px;margin-top:8px}
.process-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.process-step{display:flex;align-items:flex-start;gap:16px;padding:16px 0;border-bottom:1px solid #f5f5f5}
.process-step:last-child{border-bottom:none}
.process-dot{min-width:34px;height:34px;background:var(--tl-red);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff;flex-shrink:0}
.process-title{font-size:14px;font-weight:600;margin-bottom:3px}
.process-desc{font-size:12px;color:#888;line-height:1.55}
.process-img{border-radius:12px;overflow:hidden}
.process-img img{width:100%;height:100%;object-fit:cover;min-height:320px}
.faq-list{max-width:720px}
.faq-item{background:#fff;border:1px solid var(--tl-ge);border-radius:10px;padding:16px 20px;margin-bottom:10px}
.faq-item:last-child{margin-bottom:0}
.faq-question{font-size:14px;font-weight:600;margin-bottom:6px;display:flex;align-items:flex-start;gap:9px}
.faq-question i{color:var(--tl-red)}
.faq-answer{font-size:12px;color:#888;line-height:1.65;padding-left:24px}
.testi-card{border:1px solid var(--tl-ge);border-radius:12px;padding:20px;text-align:center}
.testi-photo{width:64px;height:64px;border-radius:50%;margin:0 auto 10px;overflow:hidden;border:2px solid var(--tl-rl)}
.testi-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}
.testi-name{font-size:13px;font-weight:600;margin-bottom:2px}
.testi-service{font-size:11px;color:#999;margin-bottom:7px}
.testi-stars{color:#F5A623;font-size:14px;margin-bottom:8px}
.testi-quote{font-size:12px;color:var(--tl-gt);line-height:1.6;font-style:italic}

/* === CTA === */
.cta-section{background:var(--tl-red);padding:48px 0;text-align:center;margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%)}
.cta-section .tl-container{max-width:1100px;margin:0 auto;padding:0 24px}
.cta-title{font-family:'Playfair Display',serif;font-size:clamp(22px,4vw,30px);color:#fff;margin-bottom:12px}
.cta-sub{font-size:14px;color:rgba(255,255,255,.72);line-height:1.65;margin-bottom:24px}
.cta-btns{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}

/* === Area === */
.area-strip{background:var(--tl-rl);padding:28px 0;margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%)}
.area-strip .tl-container{max-width:1100px;margin:0 auto;padding:0 24px}
.area-inner{display:flex;align-items:flex-start;gap:20px;flex-wrap:wrap}
.area-label{font-size:14px;font-weight:600;white-space:nowrap;display:flex;align-items:center;gap:7px}
.area-label i{color:var(--tl-red)}
.area-pills{display:flex;flex-wrap:wrap;gap:7px}
.area-pill{font-size:11px;background:#fff;border:1px solid var(--tl-rb);color:var(--tl-red);padding:5px 13px;border-radius:20px;font-weight:500}

/* === FA icon fix === */
.entry-content i.fas,.entry-content i.fab,.entry-content i.far{font-style:normal;display:inline}

/* === Responsive === */
@media(max-width:768px){
.tl-grid-3{grid-template-columns:1fr 1fr}
.tl-grid-2,.process-grid{grid-template-columns:1fr}
.process-img{display:none}
.stat-strip .tl-container{grid-template-columns:repeat(2,1fr)}
.stat-item:nth-child(2){border-right:none}
.stat-item:nth-child(3),.stat-item:nth-child(4){border-top:1px solid #eee;padding-top:12px;margin-top:12px}
.stat-item:nth-child(4){border-right:none}
.tl-section{padding:36px 0}
.feat-divider{display:none}
.area-inner{flex-direction:column;gap:10px}
.sbujk-row{grid-template-columns:1fr!important;gap:20px!important}
}
@media(max-width:480px){
.tl-grid-3{grid-template-columns:1fr}
.hero__btns,.cta-btns{flex-direction:column}
.hero__btns .tl-btn,.cta-btns .tl-btn{width:100%;justify-content:center}
}

/* === Additional Astra overrides === */
.sbujk-row{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:start}
.sbujk-text{font-size:14px;color:var(--tl-gt);line-height:1.75;margin-bottom:16px}
.sbujk-alert{background:var(--tl-rl);border-left:3px solid var(--tl-red);border-radius:0 8px 8px 0;padding:13px 15px;font-size:12px;color:#555;line-height:1.6;margin-bottom:18px}
.sbujk-alert strong{color:var(--tl-red)}
.sbujk-img{margin-top:24px;border-radius:12px;overflow:hidden}
