/* ==========================================================================
   AdinLabs additions on top of the theme (style.css). Loaded last.
   ========================================================================== */

.adin-section{ position:relative; padding:110px 0px 80px; }
.adin-section.tight{ padding:70px 0px 50px; }
.adin-section.grey{ background-color:#f7f7f7; }

.adin-lead{ font-size:var(--font-20); line-height:1.7em; color:var(--color-three); max-width:860px; margin:0 auto 30px; }
.sec-title.centered .adin-lead{ text-align:center; }
.adin-muted{ color:#777; font-size:var(--font-14); }
.adin-kicker{ display:inline-block; font-weight:800; letter-spacing:1px; text-transform:uppercase; font-size:var(--font-14); color:var(--main-color); margin-bottom:12px; }

/* bordered box, same language as counter-one */
.adin-box{ position:relative; border:1px solid var(--black-color); background:var(--white-color); padding:40px 40px; margin-bottom:30px; }
.adin-box:only-child{ height:calc(100% - 30px); }
.adin-box.dark{ background:var(--black-color); color:var(--white-color); border-color:var(--black-color); }
.adin-box.dark h3, .adin-box.dark h4{ color:var(--white-color); }
.adin-box.accent{ background:var(--color-two); }
.adin-box h3, .adin-box h4{ font-weight:800; margin-bottom:15px; }
.adin-box .big{ font-weight:900; line-height:1em; font-size:var(--font-55); color:var(--black-color); margin-bottom:15px; }
.adin-box.dark .big{ color:var(--color-two); }
.adin-box p:last-child{ margin-bottom:0; }

/* check lists */
.adin-check{ list-style:none; padding:0; margin:0 0 25px; }
.adin-check li{ position:relative; padding-left:34px; margin-bottom:12px; line-height:1.6em; color:var(--color-three); }
.adin-check li::before{ content:"\f00c"; font-family:"Font Awesome 5 Pro"; font-weight:900; position:absolute; left:0; top:2px; color:var(--main-color); }
.adin-check.light li{ color:var(--white-color); }
.adin-check.light li::before{ color:var(--color-two); }
.adin-cross li::before{ content:"\f00d"; color:#b00; }

/* value stack table */
.adin-stack{ width:100%; border:1px solid var(--black-color); border-collapse:collapse; background:var(--white-color); margin-bottom:30px; }
.adin-stack th, .adin-stack td{ padding:16px 20px; border-bottom:1px solid #e2e2e2; vertical-align:top; }
.adin-stack th{ background:var(--black-color); color:var(--white-color); font-weight:800; text-transform:uppercase; letter-spacing:1px; font-size:var(--font-14); }
.adin-stack td.ok{ color:var(--main-color); font-weight:800; white-space:nowrap; }
.adin-stack tr:last-child td{ border-bottom:none; }
.adin-stack td small{ display:block; color:#777; font-weight:400; }

/* pricing tweaks */
.price-block_one-inner.featured{ box-shadow:0 0 0 3px var(--main-color); }
.price-block_one-tag{ position:absolute; left:50%; top:-14px; transform:translateX(-50%); white-space:nowrap; z-index:2; background:var(--main-color); color:var(--white-color); font-size:12px; font-weight:800; letter-spacing:1px; text-transform:uppercase; padding:6px 12px; }
.price-block_one-price .per{ display:inline; font-size:var(--font-16); text-transform:none; letter-spacing:0; font-weight:600; color:#777; margin-left:4px; }
.price-block_one-note{ font-size:var(--font-15, 15px); color:var(--black-color); font-weight:500; margin-top:15px; line-height:1.6em; }
.adin-careplan{ border:1px solid var(--black-color); background:var(--white-color); padding:40px; margin-top:10px; margin-bottom:40px; }
.adin-careplan .big{ font-weight:900; font-size:var(--font-55); line-height:1em; }
.adin-careplan .big sup{ font-size:var(--font-30); top:-18px; }
.adin-careplan .big span{ font-size:var(--font-16); font-weight:600; color:#777; }

/* guarantees */
.adin-guarantee{ position:relative; border:2px solid var(--black-color); padding:35px 35px 35px 110px; margin-bottom:30px; background:var(--white-color); }
.adin-guarantee:only-child{ height:calc(100% - 30px); }
.adin-guarantee .icon{ position:absolute; left:35px; top:35px; font-size:48px; line-height:1em; color:var(--main-color); font-family:"flaticon_axeno-flat"; }
.adin-guarantee h4{ font-weight:800; margin-bottom:10px; }
.adin-guarantee p{ margin-bottom:0; }

/* capacity / scarcity bar */
.adin-capacity{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; background:var(--black-color); color:var(--white-color); padding:30px 40px; margin-bottom:40px; }
.adin-capacity strong{ color:var(--color-two); }
.adin-capacity .slots{ display:flex; gap:8px; }
.adin-capacity .slots span{ width:34px; height:34px; border:2px solid var(--color-two); display:inline-block; }
.adin-capacity .slots span.taken{ background:var(--color-two); }

/* steps */
.adin-steps{ counter-reset:step; list-style:none; padding:0; margin:0; }
.adin-steps li{ position:relative; padding-left:70px; margin-bottom:30px; }
.adin-steps li::before{ counter-increment:step; content:counter(step, decimal-leading-zero); position:absolute; left:0; top:-6px; font-weight:900; font-size:var(--font-40); color:var(--main-color); line-height:1em; }
.adin-steps h4{ font-weight:800; margin-bottom:8px; }

/* forms */
.adin-form .form-group label{ display:block; font-weight:700; color:var(--black-color); margin-bottom:8px; font-size:var(--font-14); text-transform:uppercase; letter-spacing:1px; }
.adin-form .form-group input, .adin-form .form-group textarea, .adin-form .form-group select{ width:100%; border:1px solid var(--black-color); padding:14px 20px; height:auto; background:var(--white-color); color:var(--black-color); font-size:var(--font-16); }
.adin-form .form-group textarea{ min-height:120px; }
.adin-form .form-group{ margin-bottom:22px; }
.adin-form .form-response{ margin-top:20px; font-weight:700; }
.adin-form .form-response.ok{ color:#1a7f37; }
.adin-form .form-response.err{ color:#b00020; }
.adin-form .hp{ position:absolute; left:-9999px; top:-9999px; }
.adin-form .check-box{ margin-bottom:10px; }
.adin-form .check-box label{ text-transform:none; letter-spacing:0; font-weight:500; display:inline; margin-left:8px; }
.adin-form .check-box input{ width:auto; }

/* opt-in hero */
.adin-optin{ background:var(--color-two); padding:110px 0 90px; }
.adin-optin h1{ font-weight:900; font-size:var(--font-50); line-height:1.1em; margin-bottom:20px; }
.adin-optin .adin-lead{ margin-left:0; }
.adin-optin .form-card{ background:var(--white-color); border:1px solid var(--black-color); padding:40px; }
.adin-optin .form-card h3{ font-weight:800; margin-bottom:6px; }
.adin-optin .form-card .adin-muted{ margin-bottom:25px; }
.adin-optin .mock{ display:flex; gap:12px; flex-wrap:wrap; margin:25px 0; }
.adin-optin .mock span{ background:var(--black-color); color:var(--white-color); font-size:12px; font-weight:800; padding:8px 12px; letter-spacing:1px; text-transform:uppercase; }

/* article */
.adin-article{ max-width:820px; margin:0 auto; }
.adin-article h2{ font-weight:800; margin:40px 0 15px; }
.adin-article h3{ font-weight:800; margin:30px 0 12px; }
.adin-article p, .adin-article li{ font-size:var(--font-18); line-height:1.8em; color:var(--color-three); }
.adin-article ul, .adin-article ol{ margin:0 0 20px 22px; }
.adin-article blockquote{ border-left:4px solid var(--main-color); padding:10px 0 10px 25px; margin:30px 0; font-size:var(--font-20); font-style:italic; }
.adin-article .meta{ color:#777; font-size:var(--font-14); margin-bottom:30px; text-transform:uppercase; letter-spacing:1px; font-weight:700; }
.adin-article img{ width:100%; height:auto; margin:10px 0 30px; }
.adin-article-cta{ background:var(--color-two); padding:35px 40px; margin:50px 0 0; }
.adin-article-cta h3{ font-weight:800; margin-bottom:10px; }

/* news card tweaks */
.news-block_one-image img{ aspect-ratio:16/10; object-fit:cover; }
.news-block_one-text{ margin-top:12px; color:var(--color-three); }

/* case study header strip */
.adin-case-meta{ display:flex; flex-wrap:wrap; gap:30px; border:1px solid var(--black-color); padding:25px 30px; margin-bottom:40px; }
.adin-case-meta div{ min-width:160px; }
.adin-case-meta span{ display:block; font-size:12px; letter-spacing:1px; text-transform:uppercase; color:#777; font-weight:800; }
.adin-case-meta strong{ font-size:var(--font-18); }

/* cta-two extras */
.cta-two_text{ position:relative; color:var(--white-color); max-width:760px; margin:0 auto 35px; font-size:var(--font-18); line-height:1.7em; }

/* mobile menu cta */
.mobile-menu_cta{ padding:20px 30px 40px; }

/* founding offer ribbon */
.adin-founding{ background:var(--main-color); color:var(--white-color); padding:60px 0; }
.adin-founding h2{ color:var(--white-color); font-weight:900; margin-bottom:15px; }
.adin-founding p{ color:var(--white-color); font-size:var(--font-18); max-width:820px; margin:0 auto 25px; }
.adin-founding .btn-style-one{ background:var(--black-color); }

@media (max-width:767px){
	.adin-section{ padding:70px 0 40px; }
	.adin-box, .adin-careplan{ padding:28px 24px; }
	.adin-guarantee{ padding:28px 24px 28px 24px; }
	.adin-guarantee .icon{ position:static; margin-bottom:12px; }
	.adin-optin{ padding:70px 0 60px; }
	.adin-optin h1{ font-size:var(--font-36); }
	.adin-optin .form-card{ padding:28px 22px; }
	.adin-stack th, .adin-stack td{ padding:12px 12px; font-size:var(--font-14); }
	.adin-capacity{ padding:24px; }
	.adin-article-cta{ padding:28px 24px; }
}

/* dark button variant: white text so it is readable before hover */
.btn-style-one.dark, .adin-founding .btn-style-one{ background:var(--black-color); color:var(--white-color); }
.btn-style-one.dark .btn-wrap .text-one, .adin-founding .btn-style-one .btn-wrap .text-one{ color:var(--white-color); }
.btn-style-one.dark .btn-wrap .text-two, .adin-founding .btn-style-one .btn-wrap .text-two{ color:var(--color-two); }

/* price cards: all text black regardless of theme defaults for p/.text */
.price-block_one-content, .price-block_one-content p, .price-block_one-content .text,
.price-block_one-list li, .price-block_one-note, .price-block_one-title, .price-block_one-price{ color:var(--black-color); }
.price-block_one-inner:hover .price-block_one-title, .price-block_one-inner:hover .price-block_one-price{ color:var(--white-color); }

/* dark boxes: paragraphs must stay white (theme sets p to grey) */
.adin-box.dark p, .adin-box.dark .text, .adin-box.dark li, .adin-box.dark .adin-muted{ color:var(--white-color); }
.adin-box.dark a{ color:var(--color-two); }
