/*
Theme Name: TirtaPress Business Agency
Theme URI: https://tirtasadewa.net
Author: Rahman Tirta
Author URI: https://tirtasadewa.net
Description: Business Agency theme for TirtaPress — WordPress SaaS Multi Tenant. One engine, six category presets (Digital/Creative Agency, Business Consulting/Corporate, Startup/SaaS Product, Marketing/SEO Agency, Portfolio/Freelancer Agency, Professional Services). B12: bright light system — pastel hero per category, dark text, white header, light footer — plus one interactive JS-only tool per category. Appearance only — all functionality lives in the TirtaPress Hub plugin.
Version: 0.1.0-b18
Requires at least: 6.5
Requires PHP: 8.2
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: tirtapress
Tags: business, agency, portfolio, services, customizer, responsive
*/

/* B12 bright system — defaults; the active preset overrides these via
   wp_add_inline_style in functions.php (never hardcode navy here). */
:root {
	--tirtapress-primary: #0e9f8a;
	--tirtapress-accent: #14b8a6;
	--tirtapress-hero-from: #ecfdf5;
	--tirtapress-hero-to: #ffffff;
	--tirtapress-soft: #f0fdfa;
	--tirtapress-surface: #ffffff;
	--tirtapress-bg: #f8fafc;
	--tirtapress-text: #1e293b;
	--tirtapress-muted: #64748b;
	--tirtapress-border: #e2e8f0;
	--tirtapress-radius: 16px;
	--tirtapress-btn-radius: 10px;
	--tirtapress-heading-font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--tirtapress-body-font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

body {
	margin: 0;
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	background: var(--tirtapress-bg);
	color: var(--tirtapress-text);
	line-height: 1.6;
}

h1,
h2,
h3 {
	font-family: var(--tirtapress-heading-font);
	color: var(--tirtapress-text);
}

a {
	color: var(--tirtapress-accent);
}

/* Header: white + thin bottom border (B12 — no more navy bar). */
.tirtapress-header {
	background: #ffffff;
	color: var(--tirtapress-text);
	padding: 1rem 2rem;
	border-bottom: 1px solid var(--tirtapress-border);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
}

.tirtapress-header a {
	color: var(--tirtapress-text);
	text-decoration: none;
	font-weight: 700;
}

.tirtapress-header .menu {
	display: flex;
	gap: 1.25rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.tirtapress-header .menu a {
	font-weight: 600;
	color: var(--tirtapress-muted);
}

.tirtapress-header .menu a:hover {
	color: var(--tirtapress-accent);
}

.tirtapress-main {
	max-width: 1100px;
	margin: 0 auto;
	padding: 2rem;
}

/* Footer: light (B12 — no more navy footer). */
.tirtapress-footer {
	background: var(--tirtapress-soft);
	color: var(--tirtapress-muted);
	padding: 1.5rem 2rem;
	text-align: center;
	font-size: 0.9rem;
	border-top: 1px solid var(--tirtapress-border);
}

.tirtapress-footer a {
	color: var(--tirtapress-primary);
}

.tirtapress-footer .menu {
	display: flex;
	gap: 1.25rem;
	list-style: none;
	margin: 0 0 0.75rem;
	padding: 0;
	justify-content: center;
}

/* Hero: light pastel gradient + dark text (B12). */
.tirtapress-hero {
	background: linear-gradient(135deg, var(--tirtapress-hero-from), var(--tirtapress-hero-to));
	color: var(--tirtapress-text);
	padding: 4rem 2rem;
	border-bottom: 1px solid var(--tirtapress-border);
}

.tirtapress-hero--split .tirtapress-hero__inner,
.tirtapress-hero--product .tirtapress-hero__inner {
	max-width: 1100px;
	margin: 0 auto;
}

.tirtapress-hero--split {
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	gap: 2rem;
	align-items: center;
	max-width: 1100px;
	margin: 0 auto;
}

.tirtapress-hero--centered {
	text-align: center;
}

.tirtapress-hero--centered .tirtapress-hero__inner {
	max-width: 760px;
	margin: 0 auto;
}

.tirtapress-hero__eyebrow {
	color: var(--tirtapress-accent);
	text-transform: uppercase;
	letter-spacing: 0.12em;
	font-size: 0.85rem;
	margin: 0 0 0.75rem;
	font-weight: 700;
}

.tirtapress-hero__title {
	font-size: 2.6rem;
	line-height: 1.15;
	margin: 0 0 1rem;
}

.tirtapress-hero__text {
	color: var(--tirtapress-muted);
	font-size: 1.1rem;
	margin: 0 0 1.5rem;
}

.tirtapress-hero__actions {
	display: flex;
	gap: 0.75rem;
	flex-wrap: wrap;
}

.tirtapress-hero--centered .tirtapress-hero__actions {
	justify-content: center;
}

.tirtapress-btn {
	display: inline-block;
	padding: 0.7rem 1.4rem;
	border-radius: var(--tirtapress-btn-radius);
	text-decoration: none;
	font-weight: 600;
}

.tirtapress-btn--primary {
	background: var(--tirtapress-accent);
	color: #fff;
}

.tirtapress-btn--ghost {
	border: 1.5px solid var(--tirtapress-accent);
	color: var(--tirtapress-accent);
	background: transparent;
}

.tirtapress-hero__visual {
	display: flex;
	align-items: center;
	justify-content: center;
}

.tirtapress-hero__card {
	background: var(--tirtapress-surface);
	color: var(--tirtapress-text);
	border: 1px solid var(--tirtapress-border);
	border-radius: var(--tirtapress-radius);
	padding: 2rem;
	width: 100%;
	max-width: 340px;
	box-shadow: 0 12px 32px rgba(30, 41, 59, 0.1);
}

.tirtapress-hero__card-title {
	display: block;
	font-weight: 700;
	font-size: 1.25rem;
}

.tirtapress-hero__card-sub {
	display: block;
	color: var(--tirtapress-muted);
	margin-top: 0.25rem;
}

.tirtapress-section {
	max-width: 1100px;
	margin: 0 auto;
	padding: 3rem 2rem;
}

.tirtapress-section__header {
	text-align: center;
	margin-bottom: 2rem;
}

.tirtapress-section__header h2 {
	font-size: 1.9rem;
	margin: 0 0 0.5rem;
}

.tirtapress-section__header p {
	color: var(--tirtapress-muted);
	margin: 0;
}

.tirtapress-grid {
	display: grid;
	gap: 1.25rem;
}

.tirtapress-grid--3 {
	grid-template-columns: repeat(3, 1fr);
}

.tirtapress-grid--2 {
	grid-template-columns: repeat(2, 1fr);
}

.tirtapress-card {
	background: var(--tirtapress-surface);
	border: 1px solid var(--tirtapress-border);
	border-radius: var(--tirtapress-radius);
	padding: 1.5rem;
	box-shadow: 0 4px 16px rgba(30, 41, 59, 0.06);
}

.tirtapress-card h3 {
	margin: 0 0 0.5rem;
}

.tirtapress-card p {
	margin: 0;
	color: var(--tirtapress-muted);
}

.tirtapress-tag {
	display: inline-block;
	background: var(--tirtapress-accent);
	color: #fff;
	font-size: 0.75rem;
	font-weight: 600;
	border-radius: 999px;
	padding: 0.2rem 0.7rem;
	margin-bottom: 0.75rem;
}

.tirtapress-stat {
	text-align: center;
}

.tirtapress-stat__value {
	display: block;
	font-size: 2.2rem;
	font-weight: 800;
	color: var(--tirtapress-primary);
}

.tirtapress-stat__label {
	color: var(--tirtapress-muted);
}

.tirtapress-price {
	font-size: 1.6rem;
	font-weight: 800;
	color: var(--tirtapress-text);
	margin: 0.5rem 0 1rem;
}

.tirtapress-price__period {
	font-size: 1rem;
	font-weight: 600;
	color: var(--tirtapress-muted);
}

.tirtapress-card--price ul {
	margin: 0;
	padding-left: 1.2rem;
	color: var(--tirtapress-muted);
}

.tirtapress-card--quote footer {
	margin-top: 1rem;
	color: var(--tirtapress-muted);
	font-size: 0.9rem;
}

.tirtapress-faq details {
	margin-bottom: 1rem;
}

.tirtapress-faq summary {
	font-weight: 600;
	cursor: pointer;
}

.tirtapress-contact {
	text-align: center;
}

/* ---- B12 category tools: light cards, shared form controls ---- */
.tirtapress-tool {
	max-width: 1100px;
	margin: 0 auto;
	padding: 3rem 2rem;
}

.tirtapress-tool__inner {
	background: var(--tirtapress-surface);
	border: 1px solid var(--tirtapress-border);
	border-radius: var(--tirtapress-radius);
	padding: 2rem;
	box-shadow: 0 4px 16px rgba(30, 41, 59, 0.06);
}

.tirtapress-tool__inner > h2 {
	margin: 0 0 0.5rem;
	font-size: 1.6rem;
}

.tirtapress-tool__inner > p {
	color: var(--tirtapress-muted);
	margin: 0 0 1.5rem;
}

.tirtapress-tool__note {
	font-size: 0.85rem;
	color: var(--tirtapress-muted);
	margin-top: 1.25rem;
}

.tirtapress-tool label {
	display: block;
	font-weight: 600;
	font-size: 0.9rem;
	margin: 0 0 0.25rem;
}

.tirtapress-tool input[type="text"],
.tirtapress-tool input[type="url"],
.tirtapress-tool input[type="email"],
.tirtapress-tool input[type="date"],
.tirtapress-tool select,
.tirtapress-tool textarea {
	width: 100%;
	box-sizing: border-box;
	padding: 0.6rem 0.8rem;
	border: 1.5px solid var(--tirtapress-border);
	border-radius: 8px;
	font: inherit;
	color: var(--tirtapress-text);
	background: #fff;
	margin-bottom: 1rem;
}

.tirtapress-tool input[type="range"] {
	width: 100%;
	accent-color: var(--tirtapress-accent);
}

.tirtapress-tool input:focus,
.tirtapress-tool select:focus {
	outline: 2px solid var(--tirtapress-accent);
	outline-offset: 1px;
}

.tirtapress-tool__btn {
	display: inline-block;
	padding: 0.7rem 1.4rem;
	border-radius: var(--tirtapress-btn-radius);
	border: none;
	background: var(--tirtapress-accent);
	color: #fff;
	font-weight: 600;
	font-size: 1rem;
	cursor: pointer;
}

.tirtapress-tool__btn--ghost {
	background: transparent;
	border: 1.5px solid var(--tirtapress-accent);
	color: var(--tirtapress-accent);
}

.tirtapress-tool__form {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 1rem;
}

.tirtapress-tool__form .tirtapress-tool__full {
	grid-column: 1 / -1;
}

.tirtapress-tool__result {
	margin-top: 1.5rem;
	padding: 1.25rem;
	background: var(--tirtapress-soft);
	border: 1px solid var(--tirtapress-border);
	border-radius: 12px;
}

.tirtapress-tool__result[hidden] {
	display: none;
}

.tirtapress-tool__result h3 {
	margin: 0 0 0.75rem;
}

.tirtapress-tool__result p {
	margin: 0.25rem 0;
	color: var(--tirtapress-text);
}

.tirtapress-tool__result ul {
	margin: 0.5rem 0 0;
	padding-left: 1.2rem;
	color: var(--tirtapress-muted);
}

/* Filter bar (digital-agency). */
.tirtapress-filter {
	display: flex;
	gap: 0.5rem;
	flex-wrap: wrap;
	margin-bottom: 1.5rem;
}

.tirtapress-filter__btn {
	padding: 0.5rem 1rem;
	border-radius: 999px;
	border: 1.5px solid var(--tirtapress-border);
	background: #fff;
	color: var(--tirtapress-text);
	font-weight: 600;
	cursor: pointer;
}

.tirtapress-filter__btn.is-active {
	background: var(--tirtapress-accent);
	border-color: var(--tirtapress-accent);
	color: #fff;
}

/* Pricing toggle (startup-saas). */
.tirtapress-toggle {
	display: inline-flex;
	background: var(--tirtapress-soft);
	border: 1px solid var(--tirtapress-border);
	border-radius: 999px;
	padding: 0.25rem;
	gap: 0.25rem;
	margin-bottom: 1.25rem;
}

.tirtapress-toggle__btn {
	padding: 0.5rem 1.25rem;
	border-radius: 999px;
	border: none;
	background: transparent;
	color: var(--tirtapress-text);
	font-weight: 600;
	cursor: pointer;
}

.tirtapress-toggle__btn.is-active {
	background: var(--tirtapress-accent);
	color: #fff;
}

.tirtapress-toggle__save {
	display: inline-block;
	background: var(--tirtapress-accent);
	color: #fff;
	font-size: 0.8rem;
	font-weight: 700;
	border-radius: 999px;
	padding: 0.2rem 0.7rem;
	margin-left: 0.5rem;
	vertical-align: middle;
}

.tirtapress-toggle__save[hidden] {
	display: none;
}

.tirtapress-miniprices {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;
}

.tirtapress-miniprice {
	border: 1px solid var(--tirtapress-border);
	border-radius: 12px;
	padding: 1rem;
	text-align: center;
	background: #fff;
}

.tirtapress-miniprice h3 {
	margin: 0 0 0.25rem;
	font-size: 1rem;
}

.tirtapress-miniprice .tirtapress-price {
	margin: 0;
}

/* SEO score bar (marketing-seo). */
.tirtapress-score {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin: 0.5rem 0 1rem;
}

.tirtapress-score__bar {
	flex: 1;
	height: 12px;
	background: #e2e8f0;
	border-radius: 999px;
	overflow: hidden;
}

.tirtapress-score__fill {
	height: 100%;
	background: var(--tirtapress-accent);
	width: 0;
	transition: width 0.4s ease;
}

.tirtapress-score__value {
	font-size: 1.6rem;
	font-weight: 800;
	color: var(--tirtapress-primary);
}

.tirtapress-checklist {
	list-style: none;
	margin: 0.75rem 0 0;
	padding: 0;
}

.tirtapress-checklist li {
	padding: 0.3rem 0;
}

.tirtapress-checklist li::before {
	content: "✓ ";
	color: var(--tirtapress-accent);
	font-weight: 800;
}

.tirtapress-checklist li.is-fail::before {
	content: "✕ ";
	color: #dc2626;
}

/* Estimator / fee calculator rows. */
.tirtapress-tool__row {
	margin-bottom: 1rem;
}

.tirtapress-tool__row output {
	font-weight: 700;
	color: var(--tirtapress-primary);
}

.tirtapress-tool__total {
	font-size: 1.8rem;
	font-weight: 800;
	color: var(--tirtapress-primary);
	margin: 0.25rem 0;
}

.tirtapress-tool__radios {
	display: flex;
	gap: 1rem;
	flex-wrap: wrap;
	margin-bottom: 1rem;
}

.tirtapress-tool__radios label {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	font-weight: 600;
	margin: 0;
}

.tirtapress-tool__radios input {
	accent-color: var(--tirtapress-accent);
}

/* Per-category accents (B12): portfolio gets oversized hero type. */
.tirtapress-cat-portfolio-freelancer .tirtapress-hero__title {
	font-size: 3.2rem;
}

.tirtapress-cat-business-consulting .tirtapress-card {
	border-top: 3px solid var(--tirtapress-accent);
}

.tirtapress-cat-marketing-seo .tirtapress-stat__value {
	font-size: 2.6rem;
}

@media (max-width: 720px) {
	.tirtapress-hero--split {
		grid-template-columns: 1fr;
	}

	.tirtapress-hero__title {
		font-size: 2rem;
	}

	.tirtapress-cat-portfolio-freelancer .tirtapress-hero__title {
		font-size: 2.4rem;
	}

	.tirtapress-grid--3,
	.tirtapress-grid--2 {
		grid-template-columns: 1fr;
	}

	.tirtapress-tool__form {
		grid-template-columns: 1fr;
	}

	.tirtapress-miniprices {
		grid-template-columns: 1fr;
	}
}

/* ---- Landing page ala WebEkspor (main site only) ---- */
.tirtapress-landing-hero {
	background: linear-gradient(135deg, var(--tirtapress-hero-from), var(--tirtapress-hero-to));
	color: var(--tirtapress-text);
	padding: 4.5rem 2rem 3.5rem;
	border-bottom: 1px solid var(--tirtapress-border);
	text-align: center;
}

.tirtapress-landing-hero__inner {
	max-width: 760px;
	margin: 0 auto;
}

.tirtapress-landing-hero__trust {
	color: var(--tirtapress-muted);
	font-size: 0.9rem;
	margin: 1.5rem 0 0;
}

.tirtapress-landing__kicker {
	color: var(--tirtapress-accent);
	text-transform: uppercase;
	letter-spacing: 0.12em;
	font-size: 0.85rem;
	font-weight: 700;
	margin: 0 0 0.5rem;
}

.tirtapress-design-card {
	padding: 0;
	overflow: hidden;
}

.tirtapress-design-card__swatch {
	padding: 2rem 1.5rem;
	min-height: 110px;
	display: flex;
	align-items: flex-end;
}

.tirtapress-design-card__swatch-title {
	font-weight: 800;
	font-size: 1.15rem;
	color: var(--tirtapress-text);
}

.tirtapress-design-card__body {
	padding: 1.5rem;
}

.tirtapress-design-card__tagline {
	font-weight: 600;
	color: var(--tirtapress-text);
}

.tirtapress-design-card__actions {
	display: flex;
	gap: 0.6rem;
	flex-wrap: wrap;
	margin-top: 1rem;
}

.tirtapress-design-card__actions .tirtapress-btn {
	padding: 0.55rem 1.1rem;
	font-size: 0.95rem;
}

button.tirtapress-btn {
	border: none;
	cursor: pointer;
	font: inherit;
}

.tirtapress-landing-benefits {
	max-width: 720px;
	margin: 2.5rem auto 0;
	background: var(--tirtapress-surface);
	border: 1px solid var(--tirtapress-border);
	border-radius: var(--tirtapress-radius);
	padding: 2rem;
	box-shadow: 0 4px 16px rgba(30, 41, 59, 0.06);
}

.tirtapress-landing-benefits h3 {
	margin: 0 0 1rem;
	text-align: center;
}

.tirtapress-landing-plan {
	max-width: 480px;
	margin: 0 auto;
	text-align: center;
}

.tirtapress-landing-plan ul {
	text-align: left;
}

.tirtapress-landing-empty {
	max-width: 720px;
	margin: 2rem auto 0;
	background: var(--tirtapress-soft);
	border: 1px dashed var(--tirtapress-border);
	border-radius: var(--tirtapress-radius);
	padding: 2rem;
	text-align: center;
}

.tirtapress-landing-empty p {
	color: var(--tirtapress-muted);
}

.tirtapress-landing-empty p:first-child {
	color: var(--tirtapress-text);
}

.tirtapress-landing-community {
	text-align: center;
}

.tirtapress-signup {
	max-width: 760px;
	margin: 0 auto;
}

.tirtapress-signup label {
	display: block;
	font-weight: 600;
	font-size: 0.9rem;
	margin: 0 0 0.25rem;
}

.tirtapress-signup input[type="text"],
.tirtapress-signup input[type="email"],
.tirtapress-signup select {
	width: 100%;
	box-sizing: border-box;
	padding: 0.6rem 0.8rem;
	border: 1.5px solid var(--tirtapress-border);
	border-radius: 8px;
	font: inherit;
	color: var(--tirtapress-text);
	background: #fff;
	margin-bottom: 1rem;
}

.tirtapress-signup input:focus,
.tirtapress-signup select:focus {
	outline: 2px solid var(--tirtapress-accent);
	outline-offset: 1px;
}

.tirtapress-signup .tirtapress-tool__btn:disabled {
	opacity: 0.6;
	cursor: wait;
}

.tirtapress-form-status--success {
	border-color: var(--tirtapress-accent);
}

.tirtapress-form-status--error {
	border-color: #dc2626;
	background: #fef2f2;
}

/* Design preview banner (main site, ?tirtapress_preview=). */
.tirtapress-preview-banner {
	background: var(--tirtapress-soft);
	border-bottom: 1px solid var(--tirtapress-border);
	padding: 0.9rem 2rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
}

.tirtapress-preview-banner p {
	margin: 0;
}

.tirtapress-preview-banner__actions {
	display: flex;
	gap: 0.6rem;
	flex-wrap: wrap;
}

.tirtapress-preview-banner__actions .tirtapress-btn {
	padding: 0.5rem 1rem;
	font-size: 0.95rem;
}

@media (max-width: 720px) {
	.tirtapress-landing-hero {
		padding: 3rem 1.25rem 2.5rem;
	}

	.tirtapress-preview-banner {
		padding: 0.9rem 1.25rem;
	}
}

/* B14: operator storefront (WebEkspor-style layout). Reuses the
   landing hero/section/card classes; only the contact block is new. */
.tirtapress-storefront-contact {
	max-width: 720px;
	margin: 0 auto;
	text-align: center;
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	padding: 1.75rem 1.5rem;
}

.tirtapress-storefront-contact p {
	margin: 0.5rem 0;
}

/* ---- B15: storefront demo semirip WebEkspor ---- */
/* Demo banner + tag: amber, unmissable — demo numbers are samples. */
.tirtapress-demo-banner {
	background: #fef3c7;
	border-bottom: 1px solid #f59e0b;
	color: #78350f;
	padding: 0.7rem 1.5rem;
	text-align: center;
	font-size: 0.9rem;
}

.tirtapress-demo-banner p {
	margin: 0 auto;
	max-width: 1100px;
}

.tirtapress-demo-tag {
	display: inline-block;
	background: #fef3c7;
	border: 1px solid #f59e0b;
	color: #92400e;
	font-size: 0.75rem;
	font-weight: 700;
	border-radius: 999px;
	padding: 0.15rem 0.6rem;
	vertical-align: middle;
}

/* Hero slider (demo only): 3 slides, text left + mock visual right. */
.tirtapress-slider {
	background: linear-gradient(135deg, var(--tirtapress-hero-from), var(--tirtapress-hero-to));
	border-bottom: 1px solid var(--tirtapress-border);
	padding: 3.5rem 2rem 2rem;
}

.tirtapress-slider__slides {
	max-width: 1100px;
	margin: 0 auto;
}

.tirtapress-slider__slide {
	display: none;
	grid-template-columns: 1.1fr 0.9fr;
	gap: 2rem;
	align-items: center;
}

.tirtapress-slider__slide.is-active {
	display: grid;
}

.tirtapress-slider__slide[hidden] {
	display: none;
}

.tirtapress-slider__price {
	font-size: 1.4rem;
	font-weight: 800;
	color: var(--tirtapress-text);
	margin: 0 0 0.5rem;
}

.tirtapress-slider__price s {
	color: var(--tirtapress-muted);
	font-weight: 600;
	font-size: 1.05rem;
	margin-left: 0.5rem;
}

.tirtapress-slider__nav {
	max-width: 1100px;
	margin: 2rem auto 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
}

.tirtapress-slider__arrow {
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	border: 1.5px solid var(--tirtapress-border);
	background: #fff;
	color: var(--tirtapress-text);
	font-size: 1.4rem;
	line-height: 1;
	cursor: pointer;
}

.tirtapress-slider__dots {
	display: flex;
	gap: 0.5rem;
}

.tirtapress-slider__dot {
	width: 0.7rem;
	height: 0.7rem;
	border-radius: 50%;
	border: none;
	background: #cbd5e1;
	cursor: pointer;
	padding: 0;
}

.tirtapress-slider__dot.is-active {
	background: var(--tirtapress-accent);
}

.tirtapress-slider__counter {
	color: var(--tirtapress-muted);
	font-weight: 700;
	font-size: 0.9rem;
}

/* CSS mock website screenshot (design cards, hero visual, testimonials).
   No external images: browser chrome + mini layout in preset colours. */
.tirtapress-mock {
	border: 1px solid var(--tirtapress-border);
	border-radius: 12px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 4px 16px rgba(30, 41, 59, 0.08);
}

.tirtapress-mock__bar {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	background: #f1f5f9;
	padding: 0.45rem 0.7rem;
	border-bottom: 1px solid var(--tirtapress-border);
}

.tirtapress-mock__bar span {
	width: 0.6rem;
	height: 0.6rem;
	border-radius: 50%;
	background: #cbd5e1;
}

.tirtapress-mock__bar em {
	font-style: normal;
	font-size: 0.75rem;
	color: var(--tirtapress-muted);
	margin-left: 0.4rem;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.tirtapress-mock__body {
	padding: 1rem;
	background: linear-gradient(135deg, var(--tirtapress-mock-from, #f8fafc), var(--tirtapress-mock-to, #ffffff));
	min-height: 130px;
}

.tirtapress-mock__hero-line {
	height: 0.65rem;
	border-radius: 999px;
	background: var(--tirtapress-mock-accent, #0e9f8a);
	opacity: 0.35;
	margin-bottom: 0.55rem;
}

.tirtapress-mock__hero-line--title {
	height: 1rem;
	width: 75%;
	opacity: 0.85;
}

.tirtapress-mock__hero-line--short {
	width: 45%;
}

.tirtapress-mock__cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.5rem;
	margin-top: 0.9rem;
}

.tirtapress-mock__cards span {
	display: block;
	height: 2.6rem;
	border-radius: 8px;
	background: #fff;
	border: 1px solid var(--tirtapress-border);
}

.tirtapress-mock--hero .tirtapress-mock__body {
	min-height: 220px;
	padding: 1.5rem;
}

.tirtapress-mock--hero .tirtapress-mock__cards span {
	height: 4rem;
}

.tirtapress-mock--thumb {
	margin-bottom: 1rem;
}

.tirtapress-mock--thumb .tirtapress-mock__body {
	min-height: 90px;
}

.tirtapress-design-count {
	margin-top: 0.75rem;
	color: var(--tirtapress-muted);
	font-size: 0.9rem;
}

/* Pricing extras (B15): subtitle, strikethrough, promo badge. */
.tirtapress-price-subtitle {
	font-weight: 700;
	color: var(--tirtapress-text);
	margin: 0;
}

.tirtapress-price-old {
	color: var(--tirtapress-muted);
	margin: 0;
}

.tirtapress-price-old s {
	font-size: 1rem;
}

.tirtapress-price-badge {
	display: inline-block;
	background: #dcfce7;
	border: 1px solid #86efac;
	color: #166534;
	font-size: 0.85rem;
	font-weight: 700;
	border-radius: 999px;
	padding: 0.25rem 0.8rem;
}

.tirtapress-demo-stats {
	margin-bottom: 2rem;
}

.tirtapress-avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background: var(--tirtapress-accent);
	color: #fff;
	font-weight: 800;
	font-size: 0.8rem;
	margin-right: 0.4rem;
	vertical-align: middle;
}

.tirtapress-quote--demo .tirtapress-card--quote footer,
.tirtapress-card--quote.tirtapress-quote--demo footer {
	line-height: 2rem;
}

.tirtapress-community-chips {
	display: flex;
	gap: 0.5rem;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 1rem;
}

.tirtapress-community-chips span {
	background: var(--tirtapress-surface);
	border: 1px solid var(--tirtapress-border);
	border-radius: 999px;
	padding: 0.3rem 0.9rem;
	font-size: 0.85rem;
	font-weight: 600;
}

.tirtapress-journal__date {
	font-size: 0.85rem;
	color: var(--tirtapress-muted);
	margin: 0 0 0.5rem;
}

.tirtapress-btn--whatsapp {
	background: #25d366;
	color: #fff;
}

@media (max-width: 720px) {
	.tirtapress-slider {
		padding: 2.5rem 1.25rem 1.5rem;
	}

	.tirtapress-slider__slide.is-active {
		grid-template-columns: 1fr;
	}

	.tirtapress-slider__visual {
		order: -1;
	}

	.tirtapress-mock--hero .tirtapress-mock__body {
		min-height: 160px;
	}
}

/* ---- B16: hero slider lebih berwarna (perintah Rahman 27 Okt 07:20 WIB) ----
   Cache-bust: versi theme naik 0.1.0-dev -> 0.1.0-b16 (functions.php),
   jadi browser pengunjung otomatis ambil CSS baru.
   Tiap slide jadi kartu gradient vivid sendiri (ala banner WebEkspor):
   slide 0 biru->ungu->fuchsia, slide 1 teal->biru, slide 2 oranye->pink->ungu.
   Teks putih di atas gradient; mock putih jadi kontras. Section tetap terang (B12). */
.tirtapress-slider__slide[data-slide="0"] {
	background: linear-gradient(135deg, #2563eb 0%, #7c3aed 60%, #c026d3 100%);
}

.tirtapress-slider__slide[data-slide="1"] {
	background: linear-gradient(135deg, #0e7490 0%, #2563eb 55%, #1d4ed8 100%);
}

.tirtapress-slider__slide[data-slide="2"] {
	background: linear-gradient(135deg, #ea580c 0%, #db2777 55%, #9333ea 100%);
}

.tirtapress-slider__slide[data-slide="0"],
.tirtapress-slider__slide[data-slide="1"],
.tirtapress-slider__slide[data-slide="2"] {
	border-radius: 20px;
	padding: 2.5rem;
	box-shadow: 0 16px 40px rgba(30, 41, 59, 0.22);
	color: #fff;
}

.tirtapress-slider .tirtapress-hero__eyebrow {
	color: #fde68a;
}

.tirtapress-slider .tirtapress-hero__title {
	color: #fff;
}

.tirtapress-slider .tirtapress-hero__text {
	color: rgba(255, 255, 255, 0.88);
}

.tirtapress-slider .tirtapress-slider__price {
	color: #fff;
}

.tirtapress-slider .tirtapress-slider__price s {
	color: rgba(255, 255, 255, 0.7);
}

.tirtapress-slider .tirtapress-price-badge {
	background: #fff;
	border-color: #fff;
	color: #6d28d9;
}

.tirtapress-slider .tirtapress-btn--primary {
	background: #fff;
	color: #1e40af;
}

.tirtapress-slider .tirtapress-btn--ghost {
	border-color: rgba(255, 255, 255, 0.85);
	color: #fff;
}

.tirtapress-slider .tirtapress-mock {
	border-color: transparent;
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.28);
}

.tirtapress-slider .tirtapress-mock__hero-line {
	opacity: 0.6;
}

@media (max-width: 720px) {
	.tirtapress-slider__slide[data-slide="0"],
	.tirtapress-slider__slide[data-slide="1"],
	.tirtapress-slider__slide[data-slide="2"] {
		padding: 1.5rem;
		border-radius: 16px;
	}
}

/* ---- B18: Digital / Creative Agency — Bizniz-style company profile ---- */
/* Reference: bizniz.oketheme.com (chosen by Rahman 27 Okt 2026, replacing
   the B17 "Studio Editorial" pilot and the template190 reference).
   Language: Plus Jakarta Sans, navy #0b2447 + bright red #e63946 accent,
   white / very-light-gray section rhythm, photo-led cards, red badges.
   Scoped to this category only; the other five keep the B12 system.
   Bright by rule (B12): light hero, dark text; the only strong band is
   the testimonials gradient, exactly as in the reference. Copy and
   images in the preset are original demo content, not the reference's. */
.tirtapress-cat-digital-agency {
	font-family: var(--tirtapress-body-font);
}

.tirtapress-cat-digital-agency h1,
.tirtapress-cat-digital-agency h2,
.tirtapress-cat-digital-agency h3 {
	letter-spacing: -0.01em;
}

/* Buttons: uppercase, letterspaced; primary navy, ghost navy outline. */
.tirtapress-cat-digital-agency .tirtapress-btn {
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-size: 0.85rem;
	transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.tirtapress-cat-digital-agency .tirtapress-btn--primary {
	background: var(--tirtapress-primary);
}

.tirtapress-cat-digital-agency .tirtapress-btn--primary:hover {
	transform: translateY(-1px);
	box-shadow: 0 8px 20px rgba(11, 36, 71, 0.35);
}

.tirtapress-cat-digital-agency .tirtapress-btn--ghost {
	color: var(--tirtapress-primary);
	border-color: var(--tirtapress-primary);
}

/* Hero slider: pale-blue flat background, left-aligned text, red eyebrow. */
.tirtapress-hero--bizniz {
	display: block;
	padding: 4rem 1.5rem 3rem;
}

.tirtapress-hero--bizniz .tirtapress-hero__inner {
	max-width: 1080px;
	margin: 0 auto;
	text-align: left;
}

.tirtapress-hero--bizniz .tirtapress-hero__eyebrow {
	color: var(--tirtapress-accent);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	font-size: 0.95rem;
}

.tirtapress-hero--bizniz .tirtapress-hero__title {
	font-size: clamp(2.2rem, 4.5vw, 3.4rem);
	font-weight: 800;
	line-height: 1.15;
	color: var(--tirtapress-primary);
}

.tirtapress-hero--bizniz .tirtapress-hero__text {
	font-size: 1.1rem;
	max-width: 640px;
}

.tirtapress-hero__nav {
	display: flex;
	align-items: center;
	gap: 1rem;
	max-width: 1080px;
	margin: 2rem auto 0;
}

.tirtapress-hero__arrow {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	border: 1px solid var(--tirtapress-border);
	background: #ffffff;
	color: var(--tirtapress-primary);
	font-size: 1.4rem;
	line-height: 1;
	cursor: pointer;
}

.tirtapress-hero__arrow:hover {
	background: var(--tirtapress-primary);
	color: #ffffff;
}

.tirtapress-hero__dots {
	display: flex;
	gap: 0.5rem;
}

.tirtapress-hero__dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	border: 1px solid var(--tirtapress-primary);
	background: transparent;
	padding: 0;
	cursor: pointer;
}

.tirtapress-hero__dot.is-active {
	background: var(--tirtapress-primary);
}

/* Section headers: navy pill badge + bold title + short red rule. */
.tirtapress-cat-digital-agency .tirtapress-section__header {
	text-align: center;
}

.tirtapress-cat-digital-agency .tirtapress-section__badge {
	display: inline-block;
	background: var(--tirtapress-primary);
	color: #ffffff;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 0.35rem 0.9rem;
	border-radius: 999px;
	margin: 0 0 0.75rem;
}

.tirtapress-cat-digital-agency .tirtapress-section__header h2 {
	font-size: 2rem;
	font-weight: 800;
	color: var(--tirtapress-text);
}

.tirtapress-cat-digital-agency .tirtapress-section__header h2::after {
	content: "";
	display: block;
	width: 50px;
	height: 4px;
	border-radius: 999px;
	background: var(--tirtapress-accent);
	margin: 0.75rem auto 0;
}

.tirtapress-cat-digital-agency .tirtapress-section__header p {
	max-width: 640px;
	margin: 0.75rem auto 0;
}

/* About + testimonials headers are left-aligned, like the reference. */
.tirtapress-cat-digital-agency .tirtapress-section--about .tirtapress-section__header,
.tirtapress-cat-digital-agency .tirtapress-section--testimonials .tirtapress-section__header {
	text-align: left;
}

.tirtapress-cat-digital-agency .tirtapress-section--about .tirtapress-section__header h2::after,
.tirtapress-cat-digital-agency .tirtapress-section--testimonials .tirtapress-section__header h2::after {
	margin-left: 0;
}

.tirtapress-cat-digital-agency .tirtapress-section--about .tirtapress-section__header p,
.tirtapress-cat-digital-agency .tirtapress-section--testimonials .tirtapress-section__header p {
	margin-left: 0;
}

/* Alternating section backgrounds: white / very light gray. */
.tirtapress-cat-digital-agency .tirtapress-section--features,
.tirtapress-cat-digital-agency .tirtapress-section--process {
	background: var(--tirtapress-soft);
}

/* CSS browser mock (showcase cards): flat-illustration stand-in. */
.tirtapress-mock {
	margin: 0;
	background: var(--tirtapress-surface);
	border: 1px solid var(--tirtapress-border);
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 12px 32px rgba(15, 23, 42, 0.08);
	display: flex;
	flex-direction: column;
}

.tirtapress-mock__chrome {
	display: flex;
	gap: 0.35rem;
	align-items: center;
	padding: 0.6rem 0.8rem;
	background: #ffffff;
	border-bottom: 1px solid var(--tirtapress-border);
}

.tirtapress-mock__chrome i {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #dbeafe;
}

.tirtapress-mock__chrome i:first-child {
	background: var(--tirtapress-accent);
}

.tirtapress-mock__body {
	flex: 1;
	min-height: 120px;
	padding: 1rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 0.6rem;
}

.tirtapress-mock__body--0 {
	background: linear-gradient(135deg, #0b2447, #1d4ed8);
}

.tirtapress-mock__body--1 {
	background: linear-gradient(135deg, #dbeafe, #93c5fd);
}

.tirtapress-mock__body--2 {
	background: linear-gradient(135deg, #e63946, #f43f5e);
}

.tirtapress-mock__bar {
	display: block;
	height: 10px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.65);
}

.tirtapress-mock__body--1 .tirtapress-mock__bar {
	background: rgba(11, 36, 71, 0.35);
}

.tirtapress-mock__bar--short {
	width: 55%;
}

.tirtapress-mock--card {
	margin: -1.5rem -1.5rem 1rem;
	border: none;
	border-bottom: 1px solid var(--tirtapress-border);
	border-radius: 10px 10px 0 0;
	box-shadow: none;
}

.tirtapress-mock--card .tirtapress-mock__body {
	min-height: 140px;
}

/* "Lihat Detail" / "Selengkapnya": dotted-underline text links. */
.tirtapress-link-more {
	color: var(--tirtapress-primary);
	font-weight: 700;
	font-size: 0.85rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	text-decoration: none;
	border-bottom: 2px dotted var(--tirtapress-primary);
	padding-bottom: 2px;
}

.tirtapress-link-more:hover {
	color: var(--tirtapress-accent);
	border-bottom-color: var(--tirtapress-accent);
}

/* Benefit cards: white, centered, big icon disc (navy / red alternating). */
.tirtapress-card--benefit {
	text-align: center;
}

.tirtapress-benefit__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background: var(--tirtapress-primary);
	font-size: 1.8rem;
	margin-bottom: 1rem;
}

.tirtapress-card--benefit:nth-child(even) .tirtapress-benefit__icon {
	background: var(--tirtapress-accent);
}

/* Showcase: 3-column grid, mock on top, tag + dotted link. */
.tirtapress-grid--showcase-b18 {
	grid-template-columns: repeat(3, 1fr);
}

/* Stats: 5 columns, navy icon disc, big value, red label. */
.tirtapress-grid--5 {
	grid-template-columns: repeat(5, 1fr);
}

.tirtapress-stats--b18 .tirtapress-stat {
	text-align: center;
}

.tirtapress-stat__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: var(--tirtapress-primary);
	font-size: 1.6rem;
	margin-bottom: 0.75rem;
}

.tirtapress-stats--b18 .tirtapress-stat__value {
	display: block;
	font-size: 2rem;
	font-weight: 800;
	color: var(--tirtapress-text);
}

.tirtapress-stats--b18 .tirtapress-stat__label {
	color: var(--tirtapress-accent);
	font-weight: 600;
	text-transform: uppercase;
	font-size: 0.8rem;
	letter-spacing: 0.06em;
}

/* Service cards: photo on top, red corner badge, price bottom-right. */
.tirtapress-card--service,
.tirtapress-card--post {
	position: relative;
	overflow: hidden;
	padding: 0 0 1.5rem;
}

.tirtapress-card--service h3,
.tirtapress-card--service p,
.tirtapress-card--service .tirtapress-card__foot,
.tirtapress-card--post h3,
.tirtapress-card--post p,
.tirtapress-card--post .tirtapress-link-more {
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}

.tirtapress-card__media {
	position: relative;
	margin: 0 0 1rem;
}

.tirtapress-card__media img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

.tirtapress-card__badge {
	position: absolute;
	top: 0.75rem;
	right: 0.75rem;
	background: var(--tirtapress-accent);
	color: #ffffff;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 0.3rem 0.65rem;
	border-radius: 999px;
}

.tirtapress-card__cat {
	position: absolute;
	top: 0.75rem;
	left: 0.75rem;
	background: var(--tirtapress-primary);
	color: #ffffff;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 0.3rem 0.65rem;
	border-radius: 999px;
}

.tirtapress-card__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin-top: 1rem;
}

.tirtapress-card__price {
	color: var(--tirtapress-primary);
	font-weight: 800;
	font-size: 1.05rem;
	white-space: nowrap;
}

/* Process: circular photo, dashed navy ring, number badge overlapping. */
.tirtapress-process__step {
	text-align: center;
}

.tirtapress-process__photo {
	position: relative;
	width: 180px;
	height: 180px;
	margin: 0 auto 1.25rem;
	border: 3px dashed var(--tirtapress-primary);
	border-radius: 50%;
	padding: 6px;
}

.tirtapress-process__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 50%;
}

.tirtapress-process__no {
	position: absolute;
	left: 50%;
	bottom: -14px;
	transform: translateX(-50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--tirtapress-primary);
	color: #ffffff;
	font-weight: 800;
	font-size: 0.95rem;
}

/* Pricing: big red price; popular card gets a pale-pink wash + badge. */
.tirtapress-card--price {
	position: relative;
}

.tirtapress-card--price .tirtapress-price__value {
	color: var(--tirtapress-accent);
	font-size: 2.1rem;
	font-weight: 800;
}

.tirtapress-card--price.is-popular {
	background: #fff1f2;
	border-color: #fecdd3;
}

.tirtapress-card--price .tirtapress-btn {
	display: flex;
	justify-content: center;
	margin-top: 1.25rem;
}

/* Testimonials: red-to-indigo gradient band, white cards, red stars. */
.tirtapress-cat-digital-agency .tirtapress-section--testimonials {
	background: linear-gradient(135deg, #e63946 0%, #4f46e5 100%);
	border-radius: 20px;
}

.tirtapress-cat-digital-agency .tirtapress-section--testimonials .tirtapress-section__header h2 {
	color: #ffffff;
}

.tirtapress-cat-digital-agency .tirtapress-section--testimonials .tirtapress-section__header h2::after {
	background: #ffffff;
}

.tirtapress-cat-digital-agency .tirtapress-section--testimonials .tirtapress-section__header p {
	color: rgba(255, 255, 255, 0.85);
}

.tirtapress-stars {
	color: var(--tirtapress-accent);
	font-size: 1.1rem;
	letter-spacing: 0.15em;
	margin: 0 0 0.75rem;
}

.tirtapress-testi__who {
	display: grid;
	grid-template-columns: 56px 1fr;
	column-gap: 0.75rem;
	align-items: center;
	margin-top: 1rem;
}

.tirtapress-testi__avatar {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	object-fit: cover;
	grid-row: span 2;
}

.tirtapress-testi__name {
	font-weight: 700;
	color: var(--tirtapress-text);
}

.tirtapress-testi__role {
	color: #1d4ed8;
	font-size: 0.9rem;
}

/* About: photo left, text right. */
.tirtapress-about {
	display: grid;
	grid-template-columns: 1fr 1.1fr;
	gap: 2.5rem;
	align-items: center;
}

.tirtapress-about__media img {
	display: block;
	width: 100%;
	border-radius: 10px;
	box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12);
}

.tirtapress-about__body p {
	font-size: 1.05rem;
	margin: 0 0 1.5rem;
}

/* Contact: light CTA band. */
.tirtapress-cat-digital-agency .tirtapress-section--contact {
	background: var(--tirtapress-soft);
	border: 1px solid var(--tirtapress-border);
	border-radius: 16px;
	padding: 2.5rem 2rem;
	text-align: center;
}

.tirtapress-contact__details {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.5rem 1.5rem;
	margin: 1.25rem 0 0;
	color: var(--tirtapress-muted);
}

.tirtapress-contact__details a {
	color: var(--tirtapress-primary);
	font-weight: 600;
}

@media (max-width: 720px) {
	.tirtapress-hero--bizniz {
		padding: 2.5rem 1rem 2rem;
	}

	.tirtapress-hero--bizniz .tirtapress-hero__title {
		font-size: 2rem;
	}

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

	.tirtapress-grid--showcase-b18,
	.tirtapress-grid--5 {
		grid-template-columns: 1fr 1fr;
	}

	.tirtapress-process__photo {
		width: 150px;
		height: 150px;
	}

	.tirtapress-cat-digital-agency .tirtapress-section--testimonials {
		border-radius: 12px;
	}
}
