/*
 * B2B reskin of plugin components (plan tables, buttons, home banner, domain
 * search, boxes). Loaded last so it wins over rp-components.css.
 * Edit this file to adjust how plugin output looks.
 */

/* ---------- Content typography inside plugin pages ---------- */
#front_page_content, #default_content, #internal_page_1, #internal_page_2, #contacts_page { color: var(--hf-ink-2); font-size: 16px; }
#front_page_content h1, #default_content h1, #internal_page_1 h1, #contacts_page h1,
#aboutus-content-main h1, #domain-content-main h1 { color: var(--hf-ink); font-size: clamp(1.8rem, 1.4rem + 1.3vw, 2.4rem); font-weight: 750; letter-spacing: -0.025em; line-height: 1.15; text-transform: none; background: none; text-shadow: none; }
#front_page_content h2, #default_content h2, #internal_page_1 h2, #internal_page_2 h2, #contacts_page h2 { color: var(--hf-ink); font-weight: 700; letter-spacing: -0.02em; text-transform: none; text-shadow: none; }
#front_page_content h3, #default_content h3, #internal_page_1 h3, #internal_page_2 h3, #contacts_page h3 { color: var(--hf-ink); font-weight: 650; text-transform: none; text-shadow: none; }
#default_content a:not(.rpwp-button):not(.rpwp-button2):not(.hf-btn), #front_page_content a:not(.rpwp-button):not(.rpwp-button2):not(.hf-btn) { color: var(--hf-primary); }
.rpwp_category_header { color: var(--hf-ink) !important; font-weight: 700 !important; letter-spacing: -0.02em; text-transform: none !important; background: none !important; border: 0 !important; padding-left: 0 !important; }
.header_notice { padding: 14px 18px; border-left: 3px solid var(--hf-primary); background: var(--hf-primary-tint); color: var(--hf-ink); border-radius: 0 var(--hf-radius) var(--hf-radius) 0; }
.rpwp-sep, .line, .line-full-width { height: 1px !important; background: var(--hf-line) !important; border: 0 !important; margin: 32px 0 !important; }

/* ---------- Buttons ---------- */
.rpwp-button,
.rpwp-button.colorize,
.rpwp-button.colorize-2,
.rpwp-button2,
.home-banner-sign-up .rpwp-button2,
.home-banner-1-buttons .home-banner-sign-up .rpwp-button2,
button.rpwp-button {
	display: inline-flex !important; align-items: center; justify-content: center;
	box-sizing: border-box !important;
	min-height: 44px; width: auto; padding: .7em 1.3em !important; margin: 0;
	border: 1px solid var(--hf-primary) !important; border-radius: var(--hf-radius) !important;
	background: var(--hf-primary) !important; background-image: none !important;
	color: var(--hf-on-primary) !important;
	font-family: var(--hf-font) !important; font-size: .95rem !important; font-weight: 600 !important; line-height: 1.2 !important;
	letter-spacing: -0.005em; text-transform: none !important; text-decoration: none !important; text-shadow: none !important;
	box-shadow: none !important; cursor: pointer;
	transition: background-color .15s ease, border-color .15s ease;
}
.rpwp-button:hover, .rpwp-button.colorize:hover, .rpwp-button.colorize-2:hover, .rpwp-button2:hover,
.home-banner-sign-up .rpwp-button2:hover, button.rpwp-button:hover {
	background: var(--hf-primary-dark) !important; border-color: var(--hf-primary-dark) !important; color: var(--hf-on-primary) !important;
}
.rpwp-button:focus-visible, .rpwp-button2:focus-visible { outline: none; box-shadow: var(--hf-focus) !important; }
.rpwp-button .gloss, .rpwp-button2 .gloss { display: none !important; }
.rpwp-button.left { float: left; }
.rpwp-button.right { float: right; }
.rpwp-button.lightblue, .rpwp-button.green {
	background: #fff !important; color: var(--hf-primary) !important; border-color: var(--hf-line-2) !important;
}
.rpwp-button.lightblue:hover, .rpwp-button.green:hover { background: var(--hf-surface) !important; border-color: var(--hf-primary) !important; color: var(--hf-primary-dark) !important; }
.rpwp_link { visibility: visible; color: var(--hf-primary); font-weight: 600; text-decoration: none; }
.rpwp_link:hover { text-decoration: underline; }
.rpwp-orderbtn { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; padding: 18px 22px; background: var(--hf-surface); border: 1px solid var(--hf-line); border-radius: calc(var(--hf-radius) + 2px); }
.rpwp-orderbtn-strip { color: var(--hf-ink); font-weight: 600; background: none !important; }
.rpwp-orderbtn .arrow { display: none; }

/* ---------- Plan comparison table ---------- */
.wrapper { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.swipe { margin: 0 0 8px !important; color: var(--hf-muted) !important; font-size: .8125rem !important; font-weight: 500 !important; text-align: left !important; background: none !important; }
#rp_presentation { border-collapse: separate !important; border-spacing: 10px 0 !important; margin: 0 -10px; width: calc(100% + 20px); font-size: .9375rem; }
#rp_presentation td { box-sizing: border-box; }
#rp_presentation .rp_pr_desc { padding: 12px 12px 12px 0 !important; color: var(--hf-ink-2) !important; background: none !important; border: 0 !important; border-bottom: 1px solid var(--hf-line) !important; font-size: .9rem !important; font-weight: 500 !important; }
#rp_presentation .rp_pr_plan { padding: 12px 10px !important; background: #fff !important; background-image: none !important; color: var(--hf-ink) !important; border: 0 !important; border-left: 1px solid var(--hf-line) !important; border-right: 1px solid var(--hf-line) !important; border-bottom: 1px solid var(--hf-line) !important; font-size: .9375rem !important; }
#rp_presentation .rp_pr_plan.rp_pr_best { background: var(--hf-primary-tint) !important; border-left-color: var(--hf-primary-tint-2) !important; border-right-color: var(--hf-primary-tint-2) !important; border-bottom-color: var(--hf-primary-tint-2) !important; }

#rp_presentation .rp_pr_plan_header .rp_pr_plan {
	position: relative; height: auto !important; padding: 22px 12px 18px !important;
	border-top: 1px solid var(--hf-line) !important; border-bottom: 0 !important;
	border-radius: calc(var(--hf-radius) + 4px) calc(var(--hf-radius) + 4px) 0 0 !important;
	color: var(--hf-ink) !important; font-size: 1.1rem !important; font-weight: 700 !important; letter-spacing: -0.01em; text-transform: none !important; text-shadow: none !important;
}
#rp_presentation .rp_pr_plan_header .rp_pr_plan.rp_pr_best { background: var(--hf-primary) !important; color: var(--hf-on-primary) !important; border-color: var(--hf-primary) !important; }
#rp_presentation .rp_pr_plan_header .rp_pr_desc { border-bottom: 0 !important; }

#rp_presentation .rp_pr_feature_header .rp_pr_desc,
#rp_presentation .rp_pr_feature_header .rp_pr_plan {
	height: auto !important; padding: 10px 12px 8px !important; line-height: 1.3 !important;
	background: var(--hf-surface-2) !important; color: var(--hf-muted) !important;
	font-size: .72rem !important; font-weight: 650 !important; letter-spacing: .09em; text-transform: uppercase !important;
	border-top: 0 !important; border-bottom: 0 !important;
}
#rp_presentation .rp_pr_feature_header .rp_pr_plan { border-left-color: var(--hf-surface-2) !important; border-right-color: var(--hf-surface-2) !important; }
#rp_presentation .rp_pr_feature_header .rp_pr_plan.rp_pr_best { background: var(--hf-primary-tint-2) !important; border-left-color: var(--hf-primary-tint-2) !important; border-right-color: var(--hf-primary-tint-2) !important; }
#rp_presentation .rp_pr_feature_header .rp_pr_desc { padding-left: 12px !important; border-radius: var(--hf-radius) 0 0 var(--hf-radius); }

#rp_presentation .rp_pr_features.rp_pr_features_price .rp_pr_desc { color: var(--hf-ink) !important; font-weight: 650 !important; }
#rp_presentation .rp_pr_features.rp_pr_features_price .rp_pr_plan { color: var(--hf-ink-2) !important; font-size: .9rem !important; padding-top: 16px !important; padding-bottom: 16px !important; }
#rp_presentation .rp_pr_features.rp_pr_features_price .rp_pr_plan span { color: var(--hf-ink) !important; font-size: 1.6rem !important; font-weight: 750 !important; letter-spacing: -0.02em; }
#rp_presentation .rp_pr_signup .rp_pr_plan { padding: 12px !important; border-bottom: 0 !important; }
#rp_presentation .rp_pr_signup .rp_pr_desc { border-bottom: 0 !important; }
#rp_presentation .rp_pr_signup .rpwp-button { display: flex !important; width: 100% !important; }
#rp_presentation .rp_pr_signup .rp_pr_plan:not(.rp_pr_best) .rpwp-button { background: #fff !important; color: var(--hf-primary) !important; border-color: var(--hf-primary) !important; }
#rp_presentation .rp_pr_signup .rp_pr_plan:not(.rp_pr_best) .rpwp-button:hover { background: var(--hf-primary) !important; color: var(--hf-on-primary) !important; }
#rp_presentation .rp_pr_end .rp_pr_plan { height: 10px !important; padding: 0 !important; border-bottom: 1px solid var(--hf-line) !important; border-radius: 0 0 calc(var(--hf-radius) + 4px) calc(var(--hf-radius) + 4px) !important; }
#rp_presentation .rp_pr_end .rp_pr_plan.rp_pr_best { border-bottom-color: var(--hf-primary-tint-2) !important; }
#rp_presentation .rp_pr_end .rp_pr_desc { border: 0 !important; }
.pr_rp_desc_info { display: inline-grid; place-items: center; width: 16px; height: 16px; margin-left: 4px !important; padding: 0 !important; border-radius: 50%; background: var(--hf-surface-2) !important; color: var(--hf-muted) !important; font-size: 11px; font-weight: 700; text-decoration: none !important; vertical-align: middle; }
.pr_rp_desc_info_test { background: var(--hf-dark) !important; color: #fff !important; border: 0 !important; border-radius: var(--hf-radius) !important; box-shadow: var(--hf-shadow) !important; font-size: .8125rem; padding: 10px 12px !important; }
.rp_upgrades { background: var(--hf-surface) !important; }

/* ---------- Home banner (plugin [home_banner]) ---------- */
#home-banner-1 {
	float: none !important; display: flow-root; height: auto !important; min-height: 0 !important;
	padding: 36px 40px !important; margin: 0 0 32px !important;
	background-color: var(--hf-surface) !important; background-size: auto 100% !important; background-position: right bottom !important;
	border: 1px solid var(--hf-line); border-radius: calc(var(--hf-radius) + 6px);
}
h2.home-banner-title-1 { float: none !important; width: auto !important; margin: 0 0 16px !important; color: var(--hf-ink) !important; font-size: clamp(1.6rem, 1.3rem + 1vw, 2.2rem) !important; font-weight: 750 !important; letter-spacing: -0.02em; line-height: 1.15 !important; text-transform: none !important; text-shadow: none !important; background: none !important; }
#home-banner-1-plan-features { float: none !important; width: auto !important; max-width: 560px; margin: 0 0 20px !important; background: none !important; }
#home-banner-1-plan-features ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 24px; margin: 0 !important; padding: 0 !important; list-style: none; }
#home-banner-1-plan-features ul li { display: flex; align-items: baseline; gap: 6px; float: none !important; width: auto !important; margin: 0 !important; padding: 0 0 0 24px !important; position: relative; background: none !important; color: var(--hf-ink-2) !important; font-size: 1rem !important; line-height: 1.4 !important; }
#home-banner-1-plan-features ul li::before { content: ""; position: absolute; left: 0; top: .2em; width: 16px; height: 16px; background: var(--hf-accent); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat; }
#home-banner-1-plan-features ul li span { color: var(--hf-ink) !important; font-weight: 650 !important; font-size: inherit !important; }
.home-banner-1-price { float: none !important; display: inline-flex !important; align-items: baseline; gap: 4px; width: auto !important; height: auto !important; margin: 0 24px 16px 0 !important; padding: 0 !important; background: none !important; color: var(--hf-ink) !important; }
.home-banner-1-price .price-value { color: var(--hf-ink) !important; font-size: 2.6rem !important; font-weight: 750 !important; letter-spacing: -0.03em; line-height: 1 !important; }
.home-banner-1-price .currency { color: var(--hf-ink) !important; font-size: 1.3rem !important; font-weight: 650 !important; }
.home-banner-1-price .period { color: var(--hf-muted) !important; font-size: .95rem !important; font-weight: 500 !important; }
.home-banner-1-buttons { float: none !important; display: inline-flex !important; flex-wrap: wrap; align-items: center; gap: 12px; width: auto !important; height: auto !important; margin: 0 !important; padding: 0 !important; background: none !important; vertical-align: middle; }
.home-banner-sign-up { float: none !important; width: auto !important; margin: 0 !important; background: none !important; }
.home-banner-sign-up .rpwp-button2 { width: auto !important; min-height: 48px; }
.home-banner-play-video { float: none !important; width: auto !important; height: auto !important; margin: 0 !important; background: none !important; }
.home-banner-play-video a, .webp .home-banner-1-buttons .home-banner-play-video, .no-webp .home-banner-1-buttons .home-banner-play-video {
	display: inline-flex !important; align-items: center; min-height: 48px; padding: 0 1.1em !important; width: auto !important; height: auto !important;
	border: 1px solid var(--hf-line-2) !important; border-radius: var(--hf-radius) !important; background: #fff none !important;
	color: var(--hf-ink) !important; font-size: .95rem !important; font-weight: 600 !important; line-height: 1 !important; text-decoration: none !important; text-indent: 0 !important;
}
.home-banner-play-video a:hover { border-color: var(--hf-ink) !important; }

/* ---------- Front page blocks ---------- */
#front_page_content-wrapper, #shared-box-small, #shared-box-large, .dc-box, #domain-search-area-fp {
	border-color: var(--hf-line) !important; box-shadow: none !important; border-radius: calc(var(--hf-radius) + 4px) !important;
}
#shared-box-small:hover, #shared-box-large:hover { box-shadow: var(--hf-shadow) !important; border-color: var(--hf-line-2) !important; }
#box-title h4, #box-title h4 a { color: var(--hf-ink) !important; text-transform: none !important; font-weight: 700 !important; text-shadow: none !important; }
#box-price .box-price-value { color: var(--hf-ink) !important; font-weight: 750 !important; }
#other-services h2, #hosting-features h2, .testimonials h2, #home-main-text h2, #front_page_content-scripts h2 { color: var(--hf-ink) !important; text-transform: none !important; font-weight: 700 !important; }
.personal-feedback, #quote_wrap { color: var(--hf-ink-2) !important; font-style: normal; }

/* ---------- Domain search ---------- */
#domain-search-area-fp, #domain-search-area-4, .domain-search-area {
	height: auto !important; padding: 20px !important; background: var(--hf-dark) !important; background-image: none !important; color: #fff; margin-bottom: 24px !important;
}
#domain_sld, input[name="domain_sld"], .domain-search input[type="text"] {
	min-height: 48px !important; height: auto !important; padding: 0 14px !important; border: 1px solid var(--hf-line-2) !important; border-radius: var(--hf-radius) !important; background: #fff !important; font-size: 1rem !important; box-shadow: none !important;
}

/* ---------- Special page header types: drop the old illustration backgrounds' fixed boxes ---------- */
.header_dedicated, .header_semi-dedicated, .header_web_hosting, .header_vps_compare, .header_domains, .header_vps_openvz, .header_vps_kvm, .header_hepsia { float: none !important; width: auto !important; }
.text_dedicated, .text_semi-dedicated, .text_web_hosting, .text_vps_compare, .text_vps_openvz, .text_vps_kvm, .text_domains, .text_hepsia { float: none !important; width: auto !important; }

/* ---------- Order form page ---------- */
.hf-order-page .hf-crumbs { display: none; }
.hf-order-page .hf-page { max-width: calc(1200px + var(--hf-gutter) * 2); }

/* ---------- Columns shortcodes ---------- */
.rpwp-left-column, .rpwp-right-column { box-sizing: border-box !important; }
@media (max-width: 760px) {
	.rpwp-left-column, .rpwp-right-column { float: none !important; width: auto !important; margin: 0 0 16px !important; }
	#home-banner-1 { padding: 24px 20px !important; }
	#home-banner-1-plan-features ul { grid-template-columns: 1fr; }
	#leftcol, #rightcol { float: none !important; width: auto !important; }
}

/* Home banner: the vendor layout pinned price and buttons with absolute offsets; put everything in normal flow. */
#home-banner-1 { box-sizing: border-box !important; width: 100% !important; }
#home-banner-1 > * { position: static !important; top: auto !important; left: auto !important; right: auto !important; margin-left: 0 !important; }
h2.home-banner-title-1 { text-align: left !important; }
#home-banner-1-plan-features, #home-banner-1-plan-features ul { float: none !important; }
#home-banner-1 h2.home-banner-title-1, #home-banner-1-plan-features, .home-banner-1-price, .home-banner-1-buttons { max-width: 56%; }
.home-banner-1-price { display: flex !important; max-width: none; }
.home-banner-1-buttons { display: flex !important; }
.home-banner-1-price .period { margin-left: 4px !important; }
@media (max-width: 760px) {
	#home-banner-1 { background-image: none !important; }
	#home-banner-1 h2.home-banner-title-1, #home-banner-1-plan-features, .home-banner-1-buttons { max-width: none; }
}
#home-banner-1 h2.home-banner-title-1, #home-banner-1-plan-features, .home-banner-1-buttons { box-sizing: border-box !important; }
@media (max-width: 760px) { .home-banner-1-buttons, h2.home-banner-title-1 { width: 100% !important; } #rp_presentation { min-width: 640px; } }
.home-banner-play-video a, .home-banner-play-video { text-transform: none !important; }
@media (max-width: 760px) { .webp #home-banner-1, .no-webp #home-banner-1, #home-banner-1 { background-image: none !important; } }
#home-banner-1 *, .home-banner-1-price * { text-shadow: none !important; }
.webp .home-banner-1-buttons .home-banner-play-video, .no-webp .home-banner-1-buttons .home-banner-play-video, .home-banner-1-buttons .home-banner-play-video { border: 0 !important; padding: 0 !important; min-height: 0 !important; background: none !important; }
#home-banner-1-plan-features ul li { display: block !important; }
.home-banner-1-price .period, .home-banner-1-price .currency { text-transform: none !important; letter-spacing: 0 !important; }

/* ---------- PHP Hosting home banner: every piece back into normal flow ---------- */
#home-banner-1 { position: relative !important; min-height: 0 !important; height: auto !important; }
#home-banner-1 h2.home-banner-title-1,
#home-banner-1 #home-banner-1-plan-features,
#home-banner-1 .home-banner-1-price,
#home-banner-1 .home-banner-1-buttons,
#home-banner-1 .home-banner-sign-up,
#home-banner-1 .home-banner-play-video {
	position: static !important; top: auto !important; left: auto !important; right: auto !important; bottom: auto !important;
	float: none !important; height: auto !important; padding: 0 !important; margin-left: 0 !important; margin-right: 0 !important;
	font-family: inherit !important; text-shadow: none !important; max-width: none !important;
}
#home-banner-1 h2.home-banner-title-1 { width: auto !important; line-height: 1.15 !important; }
#home-banner-1 #home-banner-1-plan-features { width: auto !important; }
#home-banner-1 #home-banner-1-plan-features ul li { width: auto !important; font-size: 1rem !important; }
#home-banner-1 #home-banner-1-plan-features ul li span { font-size: inherit !important; font-family: inherit !important; }
#home-banner-1 .home-banner-1-price { width: auto !important; text-align: left !important; margin: 4px 0 16px !important; }
#home-banner-1 .home-banner-1-price .price-value, #home-banner-1 .home-banner-1-price .currency { line-height: 1 !important; padding: 0 !important; font-family: inherit !important; }
#home-banner-1 .home-banner-1-buttons { width: auto !important; }
#home-banner-1 #bannerbkg { position: static !important; float: none !important; width: auto !important; height: auto !important; margin: 0 !important; }
#home-banner-1 #bannerbkg video, #home-banner-1 #bannerbkg iframe, #home-banner-1 #bannerbkg img { display: block; width: 100% !important; height: auto !important; border-radius: var(--hf-radius); }
@media (min-width: 900px) {
	/* Text on the left, video on the right */
	#home-banner-1 { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 44%); column-gap: 40px; align-items: start; }
	#home-banner-1 > * { grid-column: 1; }
	#home-banner-1 > #bannerbkg { grid-column: 2; grid-row: 1 / span 6; align-self: center; }
	#home-banner-1 h2.home-banner-title-1, #home-banner-1-plan-features, .home-banner-1-price, .home-banner-1-buttons { max-width: none !important; }
}

/* ---------- Headings inside plugin boxes: the old theme forced tiny line heights ---------- */
#front_page_content h1, #front_page_content h2, #front_page_content h3, #front_page_content h4,
#default_content h1, #default_content h2, #default_content h3, #default_content h4 {
	line-height: 1.2 !important; height: auto !important; font-family: inherit !important;
}

/* ---------- PHP Hosting front page boxes as clean cards in two columns ---------- */
#front_page_content-wrapper, #front_page_content-plan-area { float: none !important; width: auto !important; display: flow-root; border: 0 !important; box-shadow: none !important; background: none !important; padding: 0 !important; }
#front_page_content-welcome, #other-services, #hosting-features {
	box-sizing: border-box !important;
	margin: 0 0 24px !important; padding: 24px 28px !important;
	background: #fff none !important; border: 1px solid var(--hf-line) !important; border-radius: calc(var(--hf-radius) + 4px) !important; box-shadow: none !important;
}
#front_page_content-welcome h2, #other-services h2, #hosting-features h2 {
	margin: 0 0 12px !important; padding: 0 0 10px !important; border-bottom: 1px solid var(--hf-line) !important;
	font-size: 1.25rem !important; color: var(--hf-ink) !important;
}
#front_page_content-welcome h2 + p, #front_page_content-welcome p + h2 { margin-top: 0; }
#front_page_content-welcome p + h2 { margin-top: 24px !important; }
#other-services ul li, #hosting-features ul li {
	background: none !important; padding: 8px 0 8px 22px !important; position: relative; border-bottom: 1px solid var(--hf-line);
	font-size: .975rem !important; font-weight: 500 !important; color: var(--hf-ink-2) !important;
}
#other-services ul li:last-child, #hosting-features ul li:last-child { border-bottom: 0; }
#other-services ul li::before, #hosting-features ul li::before {
	content: ""; position: absolute; left: 0; top: 50%; width: 8px; height: 8px; margin-top: -4px; border-radius: 2px; background: var(--hf-accent);
}
#other-services ul li a { color: var(--hf-ink) !important; text-decoration: none !important; }
#other-services ul li a:hover { color: var(--hf-primary) !important; text-decoration: underline !important; }
#other-services ul li a strong { color: var(--hf-primary) !important; }
@media (min-width: 900px) {
	#front_page_content-welcome { float: left !important; width: calc(55% - 12px) !important; }
	#other-services, #hosting-features { float: right !important; clear: right; width: calc(45% - 12px) !important; }
}
@media (max-width: 899px) {
	#front_page_content-welcome, #other-services, #hosting-features { float: none !important; width: auto !important; }
}
#front_page_content img { max-width: 100%; height: auto; }
#rp_presentation { border: 0 !important; box-shadow: none !important; background: none !important; }

/* Undo the old theme's small-screen banner rules */
#home-banner-1 #home-banner-1-plan-features { display: block !important; width: auto !important; }
#home-banner-1 #home-banner-1-plan-features ul { margin-left: 0 !important; width: auto !important; }
#home-banner-1 #home-banner-1-plan-features ul li { text-align: left !important; text-shadow: none !important; }
#home-banner-1 h2.home-banner-title-1 { text-align: left !important; margin: 0 0 16px !important; }
#home-banner-1 .home-banner-1-buttons { margin: 0 0 20px !important; display: flex !important; flex-wrap: wrap; gap: 12px; }
#home-banner-1 .home-banner-1-buttons div, .webp #home-banner-1 .home-banner-1-buttons .home-banner-sign-up, .no-webp #home-banner-1 .home-banner-1-buttons .home-banner-sign-up {
	width: auto !important; margin: 0 !important; display: block !important; background: none !important; box-shadow: none !important; border-radius: 0 !important;
}
#home-banner-1 #bannerbkg, .webp #home-banner-1 #bannerbkg, .no-webp #home-banner-1 #bannerbkg { background: none !important; opacity: 1 !important; }
#home-banner-1 .home-banner-sign-up .rpwp-button2 { box-shadow: none !important; }
#home-banner-1 .home-banner-1-price, #home-banner-1 .home-banner-1-price * { line-height: 1.1 !important; min-height: 0 !important; height: auto !important; margin-top: 0 !important; margin-bottom: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; }
#home-banner-1 .home-banner-1-price { margin: 4px 0 16px !important; align-items: baseline !important; }

/* ---------- Plugin article pages (Internal Page 1/2, default and special pages) ---------- */
/* Internal Page 2 sat inside the old 1000px column; keep it in the content column with side padding. */
#internal_page_2.hf-page--wide, #internal_page_2 {
	max-width: calc(var(--hf-content, 1000px) + var(--hf-gutter) * 2) !important;
	margin-left: auto !important; margin-right: auto !important;
	padding: 40px var(--hf-gutter) 64px !important;
	float: none !important; width: auto !important;
}
#internal_page_2 > .edit-link { padding: 0 !important; }
#default_content, #internal_page_1, #internal_page_2, #contacts_page { line-height: 1.7 !important; font-size: 1.0625rem !important; }
#default_content > h1:first-child, #internal_page_1 > h1:first-child, #internal_page_2 > h1:first-child,
#default_content h1, #internal_page_1 h1, #internal_page_2 h1 { margin: 0 0 20px !important; }
#default_content h2, #internal_page_1 h2, #internal_page_2 h2, #contacts_page h2 {
	clear: both; margin: 48px 0 14px !important; padding: 0 !important;
	font-size: clamp(1.4rem, 1.2rem + .7vw, 1.8rem) !important; letter-spacing: -0.02em;
	background: none !important; border: 0 !important;
}
#default_content h3, #internal_page_1 h3, #internal_page_2 h3, #contacts_page h3 { clear: both; margin: 32px 0 10px !important; font-size: 1.2rem !important; }
#default_content h2 a, #internal_page_1 h2 a, #internal_page_2 h2 a,
#default_content h3 a, #internal_page_1 h3 a, #internal_page_2 h3 a { color: var(--hf-ink) !important; text-decoration: none !important; }
#default_content h2 a:hover, #internal_page_1 h2 a:hover, #internal_page_2 h2 a:hover { color: var(--hf-primary) !important; }
#default_content p, #internal_page_1 p, #internal_page_2 p, #contacts_page p { margin: 0 0 1.1em !important; max-width: 78ch; }
#default_content ul, #default_content ol, #internal_page_1 ul, #internal_page_1 ol, #internal_page_2 ul, #internal_page_2 ol { margin: 0 0 1.2em !important; padding-left: 1.3em !important; }
#default_content li, #internal_page_1 li, #internal_page_2 li { margin: 0 0 .4em !important; }
/* Thumbnails and screenshots inside articles */
#default_content img, #internal_page_1 img, #internal_page_2 img { max-width: 100%; height: auto; border-radius: calc(var(--hf-radius) * .75); }
#default_content h2 img, #internal_page_1 h2 img, #internal_page_2 h2 img,
#default_content h3 img, #internal_page_1 h3 img, #internal_page_2 h3 img { display: block; margin: 0 0 14px; max-width: 320px; }
#default_content p > img:only-child, #internal_page_2 p > img:only-child, #internal_page_1 p > img:only-child { display: block; margin: 8px 0; }
#default_content img.alignleft, #internal_page_1 img.alignleft, #internal_page_2 img.alignleft,
#default_content img[style*="float:left"], #internal_page_2 img[style*="float:left"], #internal_page_2 img[style*="float: left"] { float: left; margin: 4px 24px 16px 0 !important; max-width: 40%; }
#default_content img.alignright, #internal_page_1 img.alignright, #internal_page_2 img.alignright,
#internal_page_2 img[style*="float:right"], #internal_page_2 img[style*="float: right"] { float: right; margin: 4px 0 16px 24px !important; max-width: 40%; }
#default_content video, #internal_page_1 video, #internal_page_2 video, #default_content iframe, #internal_page_2 iframe { display: block; max-width: 100% !important; height: auto; margin: 16px 0 24px; border-radius: var(--hf-radius); }
#default_content iframe, #internal_page_2 iframe { aspect-ratio: 16 / 9; width: 100% !important; height: auto !important; }
/* Demo / video links under each feature: show as small buttons */
#default_content a.demo-link, #default_content a.video-link, #internal_page_2 a.demo-link, #internal_page_2 a.video-link, #internal_page_1 a.demo-link, #internal_page_1 a.video-link {
	display: inline-flex !important; align-items: center; gap: 6px; margin: 0 10px 12px 0 !important; padding: 8px 14px !important;
	border: 1px solid var(--hf-line-2) !important; border-radius: var(--hf-radius) !important; background: #fff none !important;
	color: var(--hf-ink) !important; font-size: .9rem !important; font-weight: 600 !important; text-decoration: none !important; text-indent: 0 !important; width: auto !important; height: auto !important;
}
#default_content a.demo-link:hover, #default_content a.video-link:hover, #internal_page_2 a.demo-link:hover, #internal_page_2 a.video-link:hover { border-color: var(--hf-primary) !important; color: var(--hf-primary) !important; }
/* Plain content tables (not the plan table) */
#default_content table:not(#rp_presentation), #internal_page_1 table:not(#rp_presentation), #internal_page_2 table:not(#rp_presentation) { width: 100%; border-collapse: collapse; margin: 16px 0 32px; font-size: .95rem; }
#default_content table:not(#rp_presentation) th, #default_content table:not(#rp_presentation) td,
#internal_page_1 table:not(#rp_presentation) th, #internal_page_1 table:not(#rp_presentation) td,
#internal_page_2 table:not(#rp_presentation) th, #internal_page_2 table:not(#rp_presentation) td { padding: 12px 14px; border-bottom: 1px solid var(--hf-line); text-align: left; vertical-align: top; }
#default_content table:not(#rp_presentation) th, #internal_page_2 table:not(#rp_presentation) th, #internal_page_1 table:not(#rp_presentation) th { background: var(--hf-surface-2); color: var(--hf-ink); font-weight: 650; }
#default_content::after, #internal_page_1::after, #internal_page_2::after { content: ""; display: table; clear: both; }
@media (max-width: 760px) {
	#default_content img.alignleft, #internal_page_2 img.alignleft, #default_content img.alignright, #internal_page_2 img.alignright,
	#internal_page_2 img[style*="float"] { float: none; max-width: 100%; margin: 8px 0 16px !important; }
	#default_content h2 img, #internal_page_2 h2 img { max-width: 100%; }
}

/* ---------- Full-width sections, readable text ---------- */
/* Page wrappers use the full container; only running text keeps a reading measure. */
#internal_page_2.hf-page--wide, #internal_page_2 { max-width: calc(var(--hf-content, 1200px) + var(--hf-gutter) * 2) !important; }
#default_content > p, #internal_page_1 > p, #internal_page_2 > p, #contacts_page > p,
#default_content > ul, #internal_page_1 > ul, #internal_page_2 > ul,
#default_content > ol, #internal_page_1 > ol, #internal_page_2 > ol { max-width: 78ch; }
#default_content table p, #internal_page_2 table p, #internal_page_1 table p,
#default_content div p, #internal_page_2 div p, #internal_page_1 div p { max-width: none; }
/* Wide tables and plan rows scroll sideways inside their own box instead of being cut off. */
.hf-scroll { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 0 0 24px; padding-bottom: 6px; }
.hf-scroll > table { margin-bottom: 0 !important; }

/* ---------- Plan boxes (#tower-box): flexible cards that share the row ---------- */
#tower-box {
	float: none !important; width: 100% !important; min-width: 170px !important; max-width: 260px; margin: 18px auto 0 !important;
	box-sizing: border-box !important; position: relative;
	background: #fff !important; border: 1px solid var(--hf-line) !important; border-radius: calc(var(--hf-radius) + 4px) !important;
	box-shadow: none !important; color: var(--hf-ink) !important; overflow: visible;
	transition: box-shadow .2s ease, border-color .2s ease;
}
#tower-box:hover { border-color: var(--hf-line-2) !important; box-shadow: var(--hf-shadow) !important; }
td:has(> #tower-box), td:has(#tower-box) { vertical-align: top !important; padding: 0 6px !important; }
td.box-space-11px, .box-space-11px { width: 4px !important; }
#tower-box-title { width: auto !important; border-bottom: 1px solid var(--hf-line) !important; background: none !important; }
#tower-box-title h2 {
	margin: 0 !important; padding: 20px 12px 16px !important; font-family: inherit !important; font-size: 1.1rem !important; font-weight: 700 !important;
	text-transform: none !important; letter-spacing: -0.01em; line-height: 1.25 !important; color: var(--hf-ink) !important; text-align: center; clear: none !important;
}
#tower-box-content, #tower-box-content-2, #tower-box-price, #tower-box-bottom { float: none !important; width: auto !important; }
#tower-box-price { padding: 18px 10px 6px !important; text-align: center; white-space: nowrap; }
.tower-box-price-currency, .tower-box-price-value, .tower-box-price-period { font-family: inherit !important; color: var(--hf-ink) !important; }
.tower-box-price-currency { font-size: 1.1rem !important; font-weight: 600 !important; vertical-align: top; }
.tower-box-price-value { font-size: 2rem !important; font-weight: 750 !important; letter-spacing: -0.03em; line-height: 1 !important; }
.tower-box-price-period { font-size: .9rem !important; color: var(--hf-muted) !important; }
#tower-box-content ul, #tower-box-content-2 ul { float: none !important; width: auto !important; margin: 8px 0 0 !important; padding: 0 14px !important; list-style: none !important; }
#tower-box-content ul li, #tower-box-content-2 ul li {
	margin: 0 !important; padding: 8px 0 !important; border-bottom: 1px solid var(--hf-line); background: none !important;
	text-align: center; font-size: .875rem !important; line-height: 1.35 !important; color: var(--hf-ink-2) !important; max-width: none !important;
}
#tower-box-content ul li:last-child, #tower-box-content-2 ul li:last-child { border-bottom: 0; }
#tower-box-content ul li strong, #tower-box-content-2 ul li strong { color: var(--hf-ink) !important; font-weight: 650 !important; }
#tower-box-bottom { height: auto !important; padding: 16px 14px 18px !important; clear: both; }
#tower-box-bottom .rpwp-button, #tower-box-bottom .rpwp-button.colorize, .tower-box-button, .tower-box-button .rpwp-button { width: 100% !important; display: flex !important; }
#tower-box .best-plan { top: -12px !important; left: 50% !important; transform: translateX(-50%); width: auto !important; height: auto !important; background: var(--hf-accent) !important; color: var(--hf-on-accent) !important; border-radius: 999px; padding: 3px 10px; font-size: .7rem; font-weight: 700; }
/* When boxes are plain floats (not in a table), lay them out as a wrapping row. */
div:has(> #tower-box) { display: flex; flex-wrap: wrap; gap: 16px; justify-content: center; }
div:has(> #tower-box) > #tower-box { flex: 1 1 180px; margin: 18px 0 0 !important; }
/* Plan rows built as tables: turn the row into a wrapping grid so every plan stays visible. */
table:has(#tower-box), table:has(#tower-box) > tbody { display: block !important; width: 100% !important; border: 0 !important; margin: 0 0 24px !important; }
table:has(#tower-box) > tbody > tr, table:has(#tower-box) > tr { display: flex !important; flex-wrap: wrap; gap: 16px; justify-content: center; }
table:has(#tower-box) td { display: block !important; flex: 1 1 170px; max-width: 260px; padding: 0 !important; border: 0 !important; background: none !important; }
table:has(#tower-box) td.box-space-11px, table:has(#tower-box) td:empty { display: none !important; }
table:has(#tower-box) #tower-box { max-width: none; margin: 18px 0 0 !important; height: calc(100% - 18px); display: flex; flex-direction: column; }
table:has(#tower-box) #tower-box-content { flex: 1; }
@media (max-width: 560px) { table:has(#tower-box) td { flex-basis: 100%; max-width: 360px; } }
