/*
Theme Name: SATOU AUTO SERVICE
Theme URI: https://satouauto.com
Author: Satou Auto Service
Author URI: https://satouauto.com
Description: Custom WordPress theme for SATOU AUTO SERVICE - Glass Coating and Car Film specialist in Yokohama, Japan.
Version: 1.0.0
Requires at least: 5.9
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: satouauto
Tags: custom-menu, custom-logo, featured-images, translation-ready, one-column
*/
/*
  SATOU AUTO SERVICE - Main Theme Stylesheet
  Page transition styles are in assets/css/page-transition.css (loaded separately).
*/
/* 1. Theme default css */
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Noto+Sans+JP:wght@100..900&display=swap');

@font-face {
	font-family: 'FontAwesome';
	src: url('assets/fonts/fontawesome-webfont.eot?v=4.2.0');
	src: url('assets/fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'), url('assets/fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'), url('assets/fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'), url('assets/fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg');
	font-weight: normal;
	font-style: normal
}

.fa {
	display: inline-block;
	font: normal normal normal 14px/1 FontAwesome;
	font-size: inherit;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale
}

body {
	font-family: "Inter", sans-serif;
	background-color: #000000;
	color: #fff;
	font-size: 16px;
	font-weight: normal;
	line-height: 26px;
	letter-spacing: 12%;
}

.img {
	width: 100%;
	height: auto;
	transition: all 0.3s ease-out 0s;
}

.f-left {
	float: left
}

.f-right {
	float: right
}

.alignleft {
	float: left;
	margin-right: 20px;
}

.alignright {
	float: right;
	margin-left: 20px;
}

.aligncenter {
	clear: both;
	float: none;
	display: block;
	text-align: center;
	margin: 0 auto;
}

.clear {
	clear: both;
}

.nopadding {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.img-responsive,
.thumbnail>img,
.thumbnail a>img,
.carousel-inner>.item>img,
.carousel-inner>.item>a>img {
	display: block;
	max-width: 100%;
	height: auto;
}

.fix {
	overflow: hidden
}

a,
.button,
button {
	-webkit-transition: all 0.3s ease-out 0s;
	-moz-transition: all 0.3s ease-out 0s;
	-ms-transition: all 0.3s ease-out 0s;
	-o-transition: all 0.3s ease-out 0s;
	transition: all 0.3s ease-out 0s;
}

a:focus,
.button:focus {
	text-decoration: none;
	outline: none;
}

button {
	cursor: pointer
}

a:focus,
a:hover,
.portfolio-cat a:hover,
.footer-menu li a:hover {
	color: #0078c5;
	text-decoration: none;
}

a,
button {
	color: #0078c5;
	outline: medium none;
}

input:focus,
textarea:focus,
:focus {
	outline: 0
}

button:focus {
	outline: 0 none;
}

.uppercase {
	text-transform: uppercase;
}

.capitalize {
	text-transform: capitalize;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: "Inter", sans-serif;
	font-weight: normal;
	color: #fff;
	margin-top: 0px;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
	color: inherit;
}

h1 {
	font-size: 40px;
	font-weight: 500;
}

h2 {
	font-size: 35px;
}

h3 {
	font-size: 28px;
}

h4 {
	font-size: 22px;
}

h5 {
	font-size: 18px;
}

h6 {
	font-size: 16px;
}

ul {
	margin: 0px;
	padding: 0px;
}

li {
	list-style: none
}

p {
	font-family: "Inter", sans-serif;
	font-size: 16px;
	font-weight: normal;
	line-height: 26px;
	color: #fff;
	margin-bottom: 15px;
	letter-spacing: 12%;
	text-transform: none;
}

hr {
	border-bottom: 1px solid #eceff8;
	border-top: 0 none;
	margin: 30px 0;
	padding: 0;
}

label {
	color: #7e7e7e;
	cursor: pointer;
	font-size: 14px;
	font-weight: 400;
}

*::-moz-selection {
	background: #d6b161;
	color: #fff;
	text-shadow: none;
}

::-moz-selection {
	background: #444;
	color: #fff;
	text-shadow: none;
}

::selection {
	background: #444;
	color: #fff;
	text-shadow: none;
}

*::-moz-placeholder {
	color: #555555;
	font-size: 14px;
	opacity: 1;
}

*::placeholder {
	color: #555555;
	font-size: 14px;
	opacity: 1;
}

.btn {
	-moz-user-select: none;
	background: #2f3440 none repeat scroll 0 0;
	border: 1px solid transparent;
	border-radius: 0;
	color: #fff;
	display: inline-block;
	font-family: "Inter", sans-serif;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.1;
	padding: 20px 45px;
	text-align: center;
	text-transform: uppercase;
	transition: all 0.3s ease 0s;
	vertical-align: middle;
	white-space: nowrap;
	position: relative;
	border: 0;
}

.btn:hover {
	color: #fbba42
}

.btn:hover:before {
	width: 100%;
	color: #444
}

.btn.brand-btn {
	background: #fbba42;
	color: #222
}

.btn.brand-btn:hover {
	background: #2f3440;
	color: #fbba42
}

.btn.btn-2 {
	background: rgba(0, 0, 0, 0) none repeat scroll 0 0;
	border: 1px solid #fbba42;
	line-height: 1;
	padding: 17px 35px;
}

.btn.btn-2:hover {
	border-color: #2f3440
}

.btn i {
	margin-right: 10px;
}

/* scrollUp */
#scrollUp {
	background: #000;
	height: 35px;
	width: 35px;
	right: 50px;
	bottom: 77px;
	color: #fff;
	font-weight: 600;
	text-align: center;
	font-size: 0;
	line-height: 34px;
}

#scrollUp::before {
	font-size: 16px;
	content: "\f077";
	font-family: "Font Awesome 5 Free";
}

#scrollUp:hover {
	background: #444;
}

/* 2. header */
.scroll-header {
	animation: 300ms ease-in-out 0s normal none 1 running fadeInDown;
	background: #f8f8f8 none repeat scroll 0 0;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 99999;
}

.header-menu {
	left: 0;
	position: absolute;
	right: 0;
	z-index: 9999;
	top: 0;
}

.main-menu-area {
	background: #000;
}

.header-right {
	float: right;
}

.main-menu ul li {
	display: inline-block;
	position: relative;
}

.main-menu ul li:hover {
	opacity: 1;
	top: 100%;
	visibility: visible;
}

.main-menu ul li>a {
	color: #fff;
	display: block;
	font-family: "Inter", sans-serif;
	font-weight: 400;
	padding: 30px 35px;
	text-align: center;
}

.main-menu ul li>a p {
	font-size: 24px;
	font-weight: 600;
	margin-bottom: 0;
	letter-spacing: 12%;
	line-height: 30px;
	/* text-transform: uppercase; */
}

.main-menu ul li>a span {
	display: block;
	font-size: 13px;
	letter-spacing: 12%;
	color: #fff;
}

.main-menu ul li:hover>a {
	color: #0078c5;
}

.like {
	padding-left: 50px;
}

.main-menu ul li ul.submenu {
	background: #000;
	left: 0;
	opacity: 0;
	position: absolute;
	top: 110%;
	transition: all 0.3s ease 0s;
	visibility: hidden;
	width: 250px;
	z-index: 9;
}

.main-menu ul li:hover>ul.submenu {
	opacity: 1;
	visibility: visible;
	top: 102%;
}

.main-menu ul li ul.submenu li {
	border-bottom: 1px solid rgba(255, 255, 255, .1);
	display: block;
	margin: 0;
}

.main-menu ul li ul.submenu li:last-child {
	border: 0;
}

.main-menu ul li ul.submenu li a {
	color: #fff;
	display: block;
	padding: 15px 10px;
	text-align: left;
	font-size: 13px;
}

.main-menu ul li ul.submenu li:hover>a {
	color: #0078c5;
}

.main-menu ul li ul.submenu li ul.submenu {
	left: 100%;
	top: 0;
}

/* 3. slider / banner */
.banner-area {
	background-position: center center;
	background-size: cover;
	height: 80vh;
	align-items: center;
	display: flex;
	position: relative;
	overflow: hidden;
	margin-top: 104px;
}

.banner-area::after {
	content: "";
	background-color: rgba(0, 0, 0, 0.15);
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
}

.banner-content p {
	font-size: 36px;
	font-weight: 400;
	letter-spacing: 12%;
	text-align: center;
	color: #fff;
	line-height: 45px;
	margin-bottom: 0;
}

.banner-content h1 {
	font-weight: 400;
	font-size: 105px;
	text-align: center;
	color: #fff;
	margin-bottom: 20px;
	line-height: 120px;
}

.banner-content {
	text-align: center;
}

.parallax_cover {
	position: absolute;
	top: 0;
	height: 100vh;
	height: 100%;
	width: 100%;
	left: 0;
}

.parallax_cover img {
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	margin-bottom: 0px;
	height: 100%;
	max-width: 100%;
	transition: transform 1s ease;
}

.banner-area:hover .parallax_cover img {
	transform: scale(1.3);
	transition: transform 2s ease;
}

.page_header_default .parallax_cover img {
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	margin-bottom: 0px;
	height: 100%;
	max-width: 100%;
}

.banner-sec {
	position: absolute;
	z-index: 3;
	text-align: center;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	height: 100%;
	display: flex;
	align-items: center;
}

@media (max-width: 1200px) {
	.banner-content h1 {
		font-size: 105px;
	}
}

.hero-tagline p {
	font-weight: 400;
	font-size: 25px;
	line-height: 35px;
}

.hero-tagline {
	width: 100%;
	max-width: 40%;
}

.hero-feature-card {
	background-color: #fff;
	padding: 10px;
	text-align: center;
	width: 100%;
	max-width: 20%;
	min-height: 91px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.hero-feature-card h4 {
	font-weight: 400;
	font-style: Italic;
	font-size: 20px;
	color: #000;
	text-align: center;
}

.hero-feature-card p {
	font-weight: 400;
	font-style: Italic;
	font-size: 11px;
	color: rgba(255, 0, 0, 1);
	padding-top: 5px;
	text-align: center;
}

.hero-wrapper {
	gap: 15px;
}

/* NEWS SECTION */
.news-grid {
	display: flex;
	align-items: flex-start;
	gap: 24px;
}

.news-title-block {
	flex-shrink: 0;
}

.news-items {
	display: flex;
	gap: 16px;
	flex: 1;
}

.news-card {
	flex: 1;
	position: relative;
	border-radius: 4px;
	overflow: hidden;
	transition: transform 0.3s;
}

.news-card a {
	color: inherit;
	text-decoration: none;
}

.news-card:hover {
	transform: translateY(-4px);
}

.news-card-img {
	width: 100%;
	height: auto;
	position: relative;
	overflow: hidden;
}

.news-card-label {
	font-size: 15px;
	color: #fff;
	font-weight: 400;
	line-height: 26px;
	letter-spacing: 12%;
	margin-bottom: 0;
}

.news-card .date {
	color: rgba(164, 164, 164, 1);
	font-size: 15px;
	letter-spacing: 12%;
	font-weight: 400;
}

.section-title {
	font-weight: 400;
	font-size: 95px;
	color: rgba(0, 120, 197, 1);
	line-height: 110px;
}

.section-title img {
	max-width: 80px;
}

.section-title .section-title .arrow {
	padding-left: 10px;
}

.section-title a {
	display: flex;
	align-items: center;
}

@media (max-width: 1200px) {
	.section-title {
		font-size: 106px;
	}

	.section-title img {
		max-width: 80px;
	}
}

.section-description {
	font-size: 24px;
	line-height: 30px;
	letter-spacing: 12%;
	margin-bottom: 15px;
}

/* COATING SECTION */
.coating-pricing {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin-top: 24px;
}

.pricing-card {
	background: rgba(0, 170, 255, 0.06);
	border: 2px solid #fff;
	padding: 14px 16px;
	transition: border-color 0.3s;
}

.pricing-card:hover {
	border-color: #fff;
}

.pricing-card h5 {
	font-size: 20px;
	font-weight: 400;
	color: #fff;
	margin-bottom: 4px;
}

.pricing-card .price,
.pricing-card .note {
	font-size: 15px;
	font-weight: 400;
	color: #fff;
}

@media (max-width: 1200px) {

	.pricing-card .price,
	.pricing-card .note,
	.pricing-card h5 {
		font-size: 17px;
	}
}

/* GALLERY */
.gallery-title .section-title a {
	display: block;
}

.gallery-item-label {
	padding-top: 20px;
	font-size: 15px;
	letter-spacing: 12%;
	color: #fff;
}

.gallery-item-label span {
	color: rgba(164, 164, 164, 1);
}

.gallery-item a {
	color: inherit;
	text-decoration: none;
}

/* Uniform image height for all gallery cards (home, coating, carfilm, archive, taxonomy) */
.gallery-item-inner {
	width: 100%;
	height: 320px;
	overflow: hidden;
	position: relative;
}

.gallery-item-inner img,
.gallery-item-inner .img,
.gallery-item-inner a img {
	width: 100% !important;
	height: 100% !important;
	max-width: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

@media (max-width: 1200px) {
	.gallery-item-inner {
		height: 280px;
	}
}

@media (max-width: 991px) {
	.gallery-item-inner {
		height: 240px;
	}
}

@media (max-width: 767px) {
	.gallery-item-inner {
		height: 220px;
	}
}

/* Gallery Filter Tabs */
.gallery-filter {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
}

.gallery-filter-btn {
	display: inline-block;
	padding: 10px 24px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 4px;
	color: #fff;
	text-decoration: none;
	font-size: 14px;
	letter-spacing: 1px;
	transition: all 0.3s ease;
}

.gallery-filter-btn:hover {
	background-color: #0078c5;
	border-color: #0078c5;
	color: #fff;
	text-decoration: none;
}

.gallery-filter-btn.active {
	background-color: #0078c5;
	border-color: #0078c5;
	color: #fff;
}

/* FLOW */
.flow-step {
	background-color: rgba(54, 54, 54, 1);
	text-align: center;
	min-height: 104px;
	display: flex;
	align-items: center;
	margin-top: 30px;
	padding: 0 5px;
}

.flow-step-label {
	font-size: 24px;
	width: 100%;
	text-align: center;
	margin-bottom: 0;
	letter-spacing: 12%;
	line-height: 30px;
}

.flow-steps ul li {
	padding-right: 25px;
	padding-left: 25px;
	position: relative;
}

.flow-steps ul li::after {
	content: "";
	width: 50px;
	background: url("assets/img/left-arrow.png") no-repeat center right;
	height: 101px;
	position: absolute;
	right: -25px;
	display: block;
	top: 25%;
	background-size: 90%;
	z-index: 2;
}

.flow-steps ul li:last-child::after {
	display: none;
}

.flow-steps .row {
	margin-right: -25px;
	margin-left: -25px;
}

/* SHOP INFO */
.shopinfo-details ul li {
	font-size: 24px;
	letter-spacing: 12%;
	line-height: 50px;
	font-weight: 400;
}

/* CTA */
.cta-inner {
	background-color: #0078c5;
	padding: 30px;
}

.cta-left p,
.cta-right p {
	font-size: 24px;
	letter-spacing: 12%;
	line-height: 30px;
	font-weight: 400;
}

.cta-left .cta-phone {
	font-size: 40px;
	letter-spacing: 12%;
	line-height: 50px;
	font-weight: 700;
}

.cta-line-buttons .cta-line-btn {
	display: inline-block;
	padding-right: 10px;
}

/* FOOTER */
.footer_bottom {
	background-color: #0078c5;
}

.footer-menu ul li {
	display: block;
	padding-bottom: 5px;
}

.footer-menu ul li a {
	font-size: 20px;
	font-weight: normal;
	font-stretch: normal;
	font-style: normal;
	text-align: center;
	color: #fff;
	letter-spacing: 12%;
	text-transform: uppercase;
}

.footer-menu ul li a:hover {
	color: #000;
}

.copyright {
	color: #000;
}

.copyright p {
	color: #000;
	font-size: 14px;
	line-height: 35px;
	margin-top: 10px;
	letter-spacing: 12%;
	font-family: "Inter", sans-serif;
	margin-bottom: 0;
}

/* ============================================
   WORDPRESS-SPECIFIC STYLES
   ============================================ */
/* Page Header */
.page-header-area {
	background-color: #000;
	position: relative;
}

/* Blog Post Cards */
.blog-post-card {
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	padding-bottom: 30px;
}

.blog-post-thumb {
	margin-bottom: 20px;
	overflow: hidden;
	border-radius: 4px;
}

.blog-post-thumb img {
	transition: transform 0.3s ease;
}

.blog-post-thumb:hover img {
	transform: scale(1.05);
}

.blog-post-content .date {
	color: rgba(164, 164, 164, 1);
	font-size: 14px;
	display: block;
	margin-bottom: 10px;
}

.blog-post-content h3 {
	font-size: 24px;
	line-height: 30px;
	margin-bottom: 10px;
}

.blog-post-content h3 a {
	color: #fff;
	text-decoration: none;
}

.blog-post-content h3 a:hover {
	color: #0078c5;
}

.blog-post-content p {
	color: rgba(200, 200, 200, 1);
	line-height: 1.6;
}

.read-more {
	color: #0078c5;
	font-size: 14px;
	text-decoration: none;
	font-weight: 600;
}

.read-more:hover {
	color: #fff;
}

/* Single Post */
.single-post-meta {
	display: flex;
	align-items: center;
	gap: 15px;
}

.single-post-meta .date {
	color: rgba(164, 164, 164, 1);
	font-size: 14px;
}

.single-post-meta .post-categories a {
	background: #0078c5;
	color: #fff;
	padding: 3px 12px;
	font-size: 12px;
	border-radius: 3px;
	text-decoration: none;
}

.single-post-thumb {
	border-radius: 8px;
	overflow: hidden;
}

.entry-content {
	color: #ccc;
	line-height: 1.8;
	font-size: 16px;
}

.entry-content h2 {
	font-size: 28px;
	margin: 30px 0 15px;
	color: #fff;
}

.entry-content h3 {
	font-size: 22px;
	margin: 25px 0 12px;
	color: #fff;
}

.entry-content p {
	line-height: 1.8;
	color: #ccc;
}

.entry-content img {
	max-width: 100%;
	height: auto;
	border-radius: 4px;
}

.entry-content a {
	color: #0078c5;
}

.entry-content ul,
.entry-content ol {
	padding-left: 20px;
	margin-bottom: 20px;
}

.entry-content ul li,
.entry-content ol li {
	list-style: inherit;
	margin-bottom: 8px;
	color: #ccc;
	line-height: 1.6;
}

/* Post Tags */
.post-tags {
	padding: 20px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.post-tags a {
	background: rgba(255, 255, 255, 0.1);
	color: #ccc;
	padding: 5px 15px;
	font-size: 13px;
	border-radius: 3px;
	margin-right: 5px;
	text-decoration: none;
}

.post-tags a:hover {
	background: #0078c5;
	color: #fff;
}

/* Post Navigation */
.post-navigation {
	padding-top: 30px;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.post-navigation a {
	color: #0078c5;
	text-decoration: none;
	font-size: 14px;
}

.post-navigation a:hover {
	color: #fff;
}

/* Pagination */
.pagination-wrapper {
	margin-top: 40px;
	text-align: center;
}

.pagination-wrapper .nav-links {
	display: flex;
	justify-content: center;
	gap: 5px;
}

.pagination-wrapper .page-numbers {
	display: inline-block;
	padding: 10px 16px;
	background: rgba(255, 255, 255, 0.1);
	color: #fff;
	text-decoration: none;
	border-radius: 3px;
	font-size: 14px;
}

.pagination-wrapper .page-numbers.current {
	background: #0078c5;
	color: #fff;
}

.pagination-wrapper .page-numbers:hover {
	background: #0078c5;
	color: #fff;
}

/* News Page Template */
.news-page-area {
	background: #000;
}

.news-page-title {}

.news-page-card {
	position: relative;
	overflow: hidden;
	transition: transform 0.3s;
}

.news-page-card a {
	color: inherit;
	text-decoration: none;
	display: block;
}

.news-page-card:hover {
	transform: translateY(-4px);
}

.news-page-card-img {
	width: 100%;
	overflow: hidden;
	border-radius: 4px;
}

.news-page-card-img img {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.news-page-card:hover .news-page-card-img img {
	transform: scale(1.05);
}

.news-page-card-info {
	padding: 12px 0;
}

.news-page-card-info .date {
	color: rgba(164, 164, 164, 1);
	font-size: 15px;
	display: block;
}

.news-page-card-label {
	font-size: 15px;
	color: #fff;
	font-weight: 400;
	line-height: 1.5;
	margin-bottom: 0;
}

/* News Page Pagination (list style) */
.pagination-wrapper ul.page-numbers {
	list-style: none;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 5px;
	padding: 0;
	margin: 0;
}

.pagination-wrapper ul.page-numbers li {
	list-style: none;
}

.pagination-wrapper ul.page-numbers li a,
.pagination-wrapper ul.page-numbers li span {
	display: inline-block;
	padding: 10px 16px;
	background: rgba(255, 255, 255, 0.1);
	color: #fff;
	text-decoration: none;
	border-radius: 4px;
	font-size: 14px;
	transition: all 0.3s;
}

.pagination-wrapper ul.page-numbers li span.current {
	background: #0078c5;
	color: #fff;
}

.pagination-wrapper ul.page-numbers li a:hover {
	background: #0078c5;
	color: #fff;
}

/* Contact Page Template */
.contact-page-area {
	background: #000;
}

.contact-page-title {}

.contact-page-desc p {
	font-size: 24px;
	color: #fff;
	line-height: 36px;
	font-weight: 700;
}

.contact-page-notice {
	background: #fff;
	padding: 20px 25px;
	border-radius: 0;
	max-width: 811px;
}

.contact-page-notice p {
	font-size: 20px;
	color: #000;
	line-height: 1.8;
	margin-bottom: 0;
	font-weight: 700;
}

/* Contact Form 7 Overrides */
.contact-form-wrapper .wpcf7 {
	max-width: 100%;
}

.contact-form-wrapper .wpcf7-form {
	color: #fff;
}

.contact-form-wrapper .contact-form-section {
	margin-bottom: 40px;
}

.contact-form-wrapper .contact-form-section-title {
	font-size: 24px;
	color: #fff;
	font-weight: 700;
	padding-bottom: 12px;
	text-decoration: underline;
	margin-bottom: 55px;
	margin-top: 0;
	text-underline-offset: 15px;
	text-decoration-color: rgba(0, 120, 197, 1);
	text-decoration-thickness: 3px;
}

/* Radio buttons */
.contact-form-wrapper .wpcf7-checkbox,
.contact-form-wrapper .wpcf7-radio {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 30px;
}

.contact-form-wrapper .wpcf7-checkbox .wpcf7-list-item,
.contact-form-wrapper .wpcf7-radio .wpcf7-list-item {
	margin: 0;
}

.contact-form-wrapper .wpcf7-checkbox .wpcf7-list-item label,
.contact-form-wrapper .wpcf7-radio .wpcf7-list-item label {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	color: #fff;
	cursor: pointer;
	font-weight: 400;
}

.contact-form-wrapper .wpcf7-checkbox input[type="checkbox"],
.contact-form-wrapper .wpcf7-radio input[type="radio"] {
	appearance: none;
	-webkit-appearance: none;
	width: 18px;
	height: 18px;
	border: 2px solid rgba(255, 255, 255, 0.4);
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
	position: relative;
	flex-shrink: 0;
	margin: 0;
}

.contact-form-wrapper .wpcf7-checkbox input[type="checkbox"]:checked,
.contact-form-wrapper .wpcf7-radio input[type="radio"]:checked {
	border-color: #0078c5;
}

.contact-form-wrapper .wpcf7-checkbox input[type="checkbox"]:checked::after,
.contact-form-wrapper .wpcf7-radio input[type="radio"]:checked::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 8px;
	height: 8px;
	background: #0078c5;
	border-radius: 50%;
}

/* Form field rows */
.contact-form-wrapper .contact-form-row {
	display: block;
	width: 100%;
	margin-bottom: 16px;
	gap: 0;
}

.contact-form-wrapper .contact-form-row-label {
	flex-shrink: 0;
	/* width: 180px; */
	font-size: 20px;
	color: #fff;
	font-weight: 700;
	padding-right: 15px;
}

.contact-form-wrapper .contact-form-row-field {
	flex: 1;
}

/* All CF7 text/email/tel/textarea inputs */
.contact-form-wrapper .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-radio):not(.wpcf7-checkbox):not(.wpcf7-acceptance) {
	width: 100%;
	padding: 12px 16px;
	background: rgba(217, 217, 217, 1);
	border: none;
	border-radius: 0;
	font-size: 16px;
	color: #000;
	font-family: "Inter", sans-serif;
	transition: background 0.3s;
	box-sizing: border-box;
	height: 74px;
}

.contact-form-wrapper .wpcf7-textarea {
	resize: vertical;
	min-height: 140px;
}

/* Submit button */
.contact-form-wrapper .contact-form-submit {
	width: 100%;
	margin-top: 30px;
	max-width: 75%;
	float: right;
	text-align: center;
}

.contact-form-wrapper .contact-form-submit p {
	display: block !important;
	width: 100% !important;
}

.contact-form-wrapper .wpcf7-submit {
	display: inline-block;
	padding: 0 10px;
	background: #0078c5;
	color: #fff;
	border: 2px solid #0078c5;
	border-radius: 0;
	font-size: 24px;
	font-weight: 700;
	cursor: pointer;
	transition: all 0.3s;
	letter-spacing: 0.1em;
	width: 100% !important;
	max-width: 260px;
	height: 74px;
}

.page-template-page-contact .cta-section {
	display: none;
}

.contact-form-wrapper .wpcf7-submit:hover {
	background: transparent;
	color: #0078c5;
}

/* CF7 validation & response messages */
.contact-form-wrapper .wpcf7-not-valid-tip {
	color: #dc3545;
	font-size: 12px;
	margin-top: 5px;
}

.contact-form-wrapper .wpcf7-response-output {
	border-color: #0078c5 !important;
	color: #fff;
	padding: 15px 20px;
	margin: 20px 0 0;
	border-radius: 4px;
}

.contact-form-wrapper .wpcf7-mail-sent-ok {
	background: rgba(0, 120, 197, 0.15);
	border-color: #0078c5;
}

.contact-form-wrapper .wpcf7-validation-errors,
.contact-form-wrapper .wpcf7-spam-blocked {
	background: rgba(220, 53, 69, 0.15);
	border-color: #dc3545 !important;
}

/* Hide CF7 default <br> and <p> spacing */
.contact-form-wrapper .wpcf7-form br {
	display: none;
}

.contact-form-wrapper .wpcf7-form p {
	margin-bottom: 0;
}

/* Sidebar / Widgets */
.sidebar .widget {
	margin-bottom: 30px;
	padding: 25px;
	background: rgba(255, 255, 255, 0.05);
	border-radius: 4px;
}

.sidebar .widget-title {
	font-size: 20px;
	color: #fff;
	margin-bottom: 15px;
	padding-bottom: 10px;
	border-bottom: 2px solid #0078c5;
}

.sidebar .widget ul li {
	padding: 8px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.sidebar .widget ul li a {
	color: #ccc;
	text-decoration: none;
	font-size: 14px;
}

.sidebar .widget ul li a:hover {
	color: #0078c5;
}

/* Search Form */
.search-form {
	display: flex;
	gap: 0;
}

.search-field {
	flex: 1;
	padding: 12px 15px;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.2);
	color: #fff;
	font-size: 14px;
}

.search-submit {
	padding: 12px 20px;
	background: #0078c5;
	border: none;
	color: #fff;
	cursor: pointer;
}

.search-submit:hover {
	background: #005a96;
}

/* Comments */
.comments-area {
	background: rgba(255, 255, 255, 0.03);
	padding: 30px;
	border-radius: 4px;
}

.comments-title {
	font-size: 22px;
	margin-bottom: 20px;
	color: #fff;
}

.comment-list {
	padding: 0;
}

.comment-list li {
	list-style: none;
	padding: 15px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.comment-form input,
.comment-form textarea {
	width: 100%;
	padding: 12px 15px;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.2);
	color: #fff;
	margin-bottom: 15px;
	font-size: 14px;
}

.comment-form .submit {
	background: #0078c5;
	color: #fff;
	border: none;
	padding: 12px 30px;
	cursor: pointer;
	font-weight: 600;
	text-transform: uppercase;
	width: auto;
}

.comment-form .submit:hover {
	background: #005a96;
}

/* 404 Page */
.error-content h2 {
	font-size: 48px;
	margin-bottom: 20px;
}

.error-content p {
	font-size: 18px;
	color: #ccc;
}

/* Search results count */
.search-results-count {
	color: #ccc;
	font-size: 16px;
}

/* Breadcrumbs */
.breadcrumbs {
	margin-top: 20px;
}

.breadcrumb-list {
	display: flex;
	justify-content: center;
	gap: 8px;
	padding: 0;
	margin: 0;
	flex-wrap: wrap;
}

.breadcrumb-item {
	font-size: 14px;
	color: #ccc;
	list-style: none;
}

.breadcrumb-item+.breadcrumb-item::before {
	content: ">";
	padding-right: 8px;
	color: #666;
}

.breadcrumb-item a {
	color: #0078c5;
	text-decoration: none;
}

.breadcrumb-item a:hover {
	color: #fff;
}

.breadcrumb-item.active {
	color: #999;
}

/* WordPress alignment classes */
.wp-block-image {
	margin-bottom: 20px;
}

.wp-block-image.alignwide,
.wp-block-image.alignfull {
	max-width: 100%;
}

.has-text-align-center {
	text-align: center;
}

/* Gallery Single */
.gallery-single-image {
	border-radius: 8px;
	overflow: hidden;
}

.gallery-categories a {
	color: #0078c5;
	text-decoration: none;
}

.gallery-navigation a {
	color: #0078c5;
	text-decoration: none;
}

/* Screen reader text */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

/* WordPress admin bar spacing */
.admin-bar .header-menu {
	top: 32px;
}

@media screen and (max-width: 782px) {
	.admin-bar .header-menu {
		top: 46px;
	}
}

/* No posts fallback */
.no-posts {
	padding: 60px 0;
	text-align: center;
}

.no-posts h3 {
	font-size: 24px;
	margin-bottom: 15px;
}

.no-posts p {
	color: #ccc;
}

/*///////////////////////////////////////////////////*/
/* CARFILM / INNER PAGE STYLES
   Exact copy from source design CSS with theme paths
   ///////////////////////////////////////////////////*/
.inner-banner-title h1 {
	font-weight: 400;
	font-size: 128px;
	color: #0078c5;
	margin-bottom: 0;
	text-align: left;
}

.inner-banner-description h2 {
	font-weight: 700;
	margin-bottom: 5px;
	font-size: 34px;
	color: #0078c5;
	line-height: 40px;
	letter-spacing: 12%;
	text-align: left;
}

.inner-banner-description p {
	font-size: 24px;
	color: #fff;
	line-height: 36px;
	letter-spacing: 12%;
	font-weight: 700;
	text-align: left;
}

#inner-banner .banner-sec {
	align-items: inherit;
}

#inner-banner {
	align-items: inherit;
}

#inner-banner .banner-sec .row .inner-banner-content.col-sm-12,
#inner-banner .banner-sec .row.align-items-center {
	height: 100%;
}

.inner-banner-description {
	position: absolute;
	left: 65px;
	bottom: 50px;
}

.menu-section .menu-item a {
	text-align: center;
	color: #fff;
	border: 1px solid #0078c5;
	display: block;
	width: 100%;
	padding: 25px 15px 45px;
}

.menu-section .menu-item {
	position: relative;
	padding-bottom: 20px;
}

.menu-box {
	font-size: 20px;
	letter-spacing: 12%;
	font-weight: bold;
	line-height: 26px;
}

.menu-item .arrow img {
	max-width: 48.51px;
	margin: 0 auto;
	display: block;
}

.menu-item .arrow {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0 auto;
}

/* FEATURES */
.titlebar {
	background: url("assets/img/Group.png") no-repeat center center;
}

.titlebar h2 {
	font-weight: 700;
	font-size: 36px;
	line-height: 40px;
	letter-spacing: 12%;
}

.titlebar span {
	font-weight: 700;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 36px;
	color: #0078c5;
	line-height: 40px;
	letter-spacing: 12%;
	display: block;
	padding-bottom: 20px;
}

.feature-grid .col-xl-3.col-lg-3.col-md-3 {
	padding-left: 5px;
	padding-right: 5px;
}

.feature-grid {
	margin-right: -5px;
	margin-left: -5px;
}

.feature p {
	margin-bottom: 0;
	line-height: 26px;
	font-size: 14px;
}

.feature-img {
	overflow: hidden;
	height: 242px;
	margin-bottom: 20px;
}

.feature-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* PROMO */
.promo_item {
	position: relative;
	padding: 0px 25px 10px 10px;
}

.promo_item_top {
	background: url("assets/img/bg-1.png") no-repeat center center;
	position: relative;
	padding: 40px 20px;
	background-size: cover;
}

.promo_item::after {
	content: "";
	background: url("assets/img/bg-1-border.png") no-repeat center right;
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	left: 0;
	right: 0;
	top: 0px;
	bottom: 0;
	background-size: 100% 100%;
	z-index: -1;
}

.promo_item h2 span {
	color: #0078c5;
}

.promo_item h2 {
	font-weight: 700;
	margin-bottom: 0;
	font-size: 36px;
	line-height: 26px;
	letter-spacing: 12%;
}

/* CLIENT LOGOS */
.client-logo-img img {
	margin: 0 auto;
	display: block;
}

.client-logo-img {
	min-height: 210px;
}

.client-logo p {
	font-weight: 700;
	margin-bottom: 0;
	font-size: 20px;
	line-height: 26px;
	letter-spacing: 12%;
	text-align: center;
}

/* BENEFITS */
.benefit h3 {
	background-color: #0e2649;
	text-align: center;
	font-size: 19px;
	font-weight: 600;
	letter-spacing: 12%;
	padding: 20px 5px;
	margin-bottom: 0;
}

.benefit img {
	margin-bottom: 30px;
}

.benefit-content p {
	line-height: 26px;
}

.benefit h4 {
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	color: #dcff18;
}

/* FILM AREA */
.flim-area {
	background-color: #272727;
	position: relative;
}

.flim-title h2 {
	margin-bottom: 0;
	font-size: 24px;
	font-weight: 500;
}

.flim-wrapper .benefit img {
	margin-bottom: 0;
	max-height: 222px;
	object-fit: cover;
}

.flim-wrapper .benefit-content p {
	font-size: 20px;
	font-weight: 500;
}

.flim-wrapper .benefit-content a {
	font-weight: 300;
	font-size: 24px;
	color: #ffffff;
	line-height: 26px;
	letter-spacing: 12%;
	text-decoration: underline;
	text-decoration-style: solid;
	text-decoration-offset: 0%;
	text-decoration-thickness: 0%;
	text-decoration-skip-ink: auto;
	display: block;
	padding-top: 30px;
}

/* TABLE */
.car-table-area {
	position: relative;
}

.table-container {
	margin: 0 auto;
}

.table-container table {
	width: 100%;
	border-collapse: collapse;
	text-align: center;
	background: linear-gradient(180deg, #0E2649 -7.85%, #385580 107.85%);
}

.table-container th,
.table-container td {
	border: 1px solid #ffffff;
	padding: 15px 5px;
	font-size: 16px;
	font-weight: 700;
}

.table-container th {
	background: rgba(14, 38, 73, 1);
}

#carfilm-pricing .table-container th:first-child {
	width: 150px;
}

.table_three .table-box .cell-gold,
.table_three .table-box th,
.table_three .table-box .cell-gold,
.table_three .table-box td,
.table_three .table-box .cell-gold,
.table_four .table-box th,
.table_four .table-box .cell-gold,
.table_three .table-box td {
	font-size: 11px !important;
}

.table_item.table_six .table-box th,
.table_item.table_six .table-box td,
.table_item.table_seven .table-box th,
.table_item.table_seven .table-box td,
.table_item.table_eight .table-box th,
.table_item.table_eight .table-box td,
.table_item.table_four .table-box th,
.table_item.table_four .table-box td {
	font-size: 11px !important;
}

/* CAR MODELS */
.car-models {
	position: relative;
}

.car-models-inner {
	position: relative;
}

.car-models-title {
	text-align: center;
	margin-bottom: 50px;
}

.car-models-title h3 {
	font-weight: 700;
	margin-bottom: 0;
	font-size: 36px;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}

.car-models-title h3 span {
	padding-left: 30px;
}

.car-models-title h3::before {
	content: "";
	width: 100%;
	max-width: 396.5px;
	height: 1px;
	display: block;
	background-color: #fff;
}

.car-models-title h3::after {
	content: "";
	width: 100%;
	max-width: 396.5px;
	height: 1px;
	display: block;
	background-color: #fff;
}

.car-models-box {
	background-color: #0e2649;
	padding: 20px;
	border: 1px solid #fff;
	min-height: 170px;
}

.car-models-box h3 {
	font-size: 16px;
	text-align: center;
	border-bottom: 1px solid #fff;
	padding-bottom: 10px;
	margin-bottom: 15px;
}

.car-models-box p {
	margin-bottom: 0;
	font-size: 12px;
	font-weight: 700;
}

/* CAR INFO */
.car-info-list ul li {
	font-weight: 700;
	position: relative;
	padding-left: 30px;
	padding-bottom: 5px;
}

.car-info-list ul li::before {
	width: 14px;
	height: 15px;
	content: "";
	background-color: #0078c5;
	display: block;
	position: absolute;
	left: 0;
}

/* ═══════════════════════════════════════════
 * Pricing Table Cell Utility Classes
 * Use these in the "CSS Class" field of the
 * cell settings (gear icon) in the admin.
 * ═══════════════════════════════════════════ */
/* Gold/brown gradient — for row labels like ①②③ */
.car-table-wrapper.table_item .table-box .cell-gold {
	color: #fff;
	font-weight: 700;
	text-align: center;
}

/* Dark gold — for the last price column accent */
.car-table-wrapper.table_item .table-box .cell-dark-gold {
	background: #5c4a1e;
	color: #daa520;
	font-weight: 700;
}

/* Green gradient — for recommended/highlight */
.car-table-wrapper.table_item .table-box .cell-green {
	background: linear-gradient(180deg, #2d5a27 0%, #3d7a35 50%, #2d5a27 100%);
	color: #fff;
	font-weight: 700;
	text-align: center;
}

/* Red/maroon gradient */
.car-table-wrapper.table_item .table-box .cell-red {
	background: linear-gradient(180deg, #6b1a1a 0%, #8b2a2a 50%, #6b1a1a 100%);
	color: #fff;
	font-weight: 700;
	text-align: center;
}

/* Blue gradient */
.car-table-wrapper.table_item .table-box .cell-blue {
	background: linear-gradient(180deg, #1a3a5c 0%, #2a5a8b 50%, #1a3a5c 100%);
	color: #fff;
	font-weight: 700;
	text-align: center;
}

/* Dark header row background */
.car-table-wrapper.table_item .table-box .cell-dark {
	background: #1a1a1a;
	color: #d4af37;
	font-weight: 700;
}

/* Center text in a cell */
.car-table-wrapper.table_item .table-box .text-center {
	text-align: center;
}

/* Small note text */
.car-table-wrapper.table_item .table-box .text-sm {
	font-size: 10px;
	line-height: 1.5;
	color: #fff;
	max-width: 260px;
	text-align: left;
}

/* Cell image sizing */
.car-table-wrapper.table_item .table-box .pt-cell-image {
	display: block;
	max-width: 120px;
	max-height: 50px;
	margin: 4px auto 6px;
	object-fit: contain;
}

/* Multiple logos side by side in a cell */
.car-table-wrapper.table_item .pt-logos-inline {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0;
	margin-bottom: 6px;
}

.car-table-wrapper.table_item .pt-logos-inline img {
	max-width: 65px;
	max-height: 40px;
	object-fit: contain;
}

/* Single logo centered in a cell */
.car-table-wrapper.table_item .pt-logo-single {
	display: block;
	max-width: 230px;
	max-height: 50px;
	margin: 0 auto 6px;
	object-fit: contain;
}

/* Stacked logos (vertical) in a cell */
.car-table-wrapper.table_item .pt-logos-stacked {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	margin-bottom: 6px;
}

.car-table-wrapper.table_item .pt-logos-stacked img {
	max-width: 170px;
	max-height: 145px;
	object-fit: contain;
}

/* ═══════════════════════════════════════════
 * Coating Pricing Table Styles
 * Matches the gold/brown design from the
 * original table-one.png screenshot.
 * ═══════════════════════════════════════════ */
/* Title cell — large gold gradient header */
.car-table-wrapper.table_item .table-box .coating-th-title {
	background: rgba(67, 47, 18, 1);
	color: #fff;
	font-size: 24px;
	font-weight: 700;
	text-align: left;
	padding: 20px 24px;
	vertical-align: middle;
	border-bottom: 1px solid #4a3d1a;
}

.car-table-wrapper.table_item .table-box .coating-th-title strong {
	font-size: 28px;
}

/* Logo header cells — dark bg with image + label */
.car-table-wrapper.table_item .table-box .coating-th-logo {
	background: rgba(67, 47, 18, 1);
	color: #d4af37;
	text-align: center;
	padding: 10px 8px 4px;
	font-size: 11px;
	font-weight: 400;
	vertical-align: bottom;
	border-bottom: none;
	min-width: 110px;
}

.car-table-wrapper.table_item .table-box .coating-th-logo .pt-cell-image {
	max-width: 100px;
	max-height: 40px;
	margin: 0 auto 4px;
}

/* Sub-header labels below logos */
.car-table-wrapper.table_item .table-box .coating-th-sub {
	background: rgba(67, 47, 18, 1);
	color: #fff;
	font-size: 10px !important;
	font-weight: 700;
	padding: 6px 8px;
	text-align: center;
	border-top: 1px solid #5c4a1e;
}

/* Narrow indicator column header */
.car-table-wrapper.table_item .table-box .coating-th-indicator {
	background: #1a1a1a;
	width: 40px;
	min-width: 40px;
	max-width: 40px;
	padding: 0;
}

.car-table-wrapper.table_item .table-box {
	background: linear-gradient(180deg, #3C270E -7.85%, #866526 107.85%);
}

/* Override general table styles inside coating tables */
.car-table-wrapper.table_item .table-box table {
	width: 100%;
	border-collapse: collapse;
	background: linear-gradient(180deg, #3C270E -7.85%, #866526 107.85%);
}

.car-table-wrapper.table_item .table-box th,
.car-table-wrapper.table_item .table-box td {
	border: 1px solid #4a3d1a;
	padding: 12px 5px;
	color: #fff;
	vertical-align: middle;
}

.car-table-wrapper.table_item .table-box th {
	font-weight: 700;
}

/* Size label column — gold gradient */
.car-table-wrapper.table_item .table-box .cell-gold {
	color: #fff;
	font-weight: 700;
	text-align: center;
	font-size: 16px;
	min-width: 130px;
}

/* Vehicle list — smaller text */
/* Price cells */
.car-table-wrapper.table_item .table-box .text-center {
	text-align: center;
	font-size: 16px;
	font-weight: 700;
}

/* Green indicator ①②③ */
.car-table-wrapper.table_item .table-box .cell-green {
	background: rgba(14, 73, 44, 1);
	color: #fff;
	font-weight: 700;
	text-align: center;
	font-size: 18px;
	width: 40px;
	min-width: 40px;
	max-width: 40px;
	padding: 0;
}

/* Blue indicator ② for window table */
.car-table-wrapper.table_item .table-box .cell-blue {
	background: rgba(14, 62, 73, 1);
	color: #fff;
	font-weight: 700;
	text-align: center;
	font-size: 18px;
}

/* Red/maroon indicator ③ for window table */
.car-table-wrapper.table_item .table-box .cell-red {
	background: rgba(73, 35, 14, 1);
	color: #fff;
	font-weight: 700;
	text-align: center;
	font-size: 18px;
}

/* Coating note text (red) */
.car-table-wrapper.table_item .coating-note p {
	color: #ff3333;
	font-size: 11px;
	line-height: 1.8;
	margin-bottom: 0;
}

.table_item.table_two .table-box th.cell-gold {
	font-size: 11px;
}

.car-table-wrapper.table_item.table_two .table-box .cell-green {
	background: rgba(14, 73, 44, 1);
	font-size: 10px;
}

.car-table-wrapper.table_item.table_two .table-box .cell-blue {
	background: rgba(14, 62, 73, 1);
	font-size: 10px;
}

.car-table-wrapper.table_item.table_two .table-box .cell-red {
	background: rgba(73, 35, 14, 1);
	font-size: 10px;
}

.car-table-wrapper.table_item.table_two .table-box .text-center {
	font-size: 11px;
	font-weight: 700;
}

.step-title h3 {
	font-weight: 700;
	margin-bottom: 0;
	font-size: 24px;
}

.step-title p {
	font-weight: 700;
	margin-bottom: 0;
	font-size: 18px;
	line-height: 33px;
}

.step-title h3 span {
	color: #0078c5;
}

.step-content p {
	font-weight: 400;
	margin-bottom: 0;
	font-size: 20px;
	line-height: 30px;
}

.step-title {
	display: flex;
	align-content: center;
	padding-bottom: 10px;
}

.step-content {
	padding-top: 15px;
}

.step-content p span {
	color: #464646;
}

.steps {
	position: relative;
	margin-bottom: 50px;
}

.arrow-left::after {
	content: "";
	width: 50px;
	background: url("assets/img/left-arrow.png") no-repeat center right;
	height: 101px;
	position: absolute;
	right: -40px;
	display: block;
	top: 25%;
	background-size: 90%;
	z-index: 2;
}

.portfolio-btn {
	text-align: center;
}

.portfolio-btn ul {
	text-align: center;
}

.portfolio-btn ul li {
	text-align: center;
	display: inline-block;
}

.portfolio-btn ul li a {
	width: 255px;
	height: 104px;
	font-weight: 400;
	font-size: 24px;
	letter-spacing: 12%;
	color: #fff;
	background-color: #363636;
	display: inline-block;
	line-height: 104px;
}

.portfolio-btn ul li a:hover {
	color: #fff;
	background-color: #0078c5;
}

.brown-text {
	color: #fad993 !important;
}

.brown-bg {
	background: url("assets/img/brown-bg.png") no-repeat center center;
	background-size: contain;
}

/* ============================================
   COATING PAGE STYLES
   ============================================ */
#coating-sec-two .promo_line {
	position: relative;
	z-index: 9;
}

#coating-sec-three {
	position: relative;
	margin-top: -65px;
}

.project-wrapper-bottom {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	padding-top: 0;
	display: flex;
	align-items: center;
}

.project-boxe-left {
	background-color: #000;
	padding: 30px 35px 40px 16.666667%;
}

.project-boxe-left h3 {
	font-weight: 700;
	font-size: 36px;
}

.project-boxe-left p {
	font-size: 24px;
	font-weight: 400;
	line-height: 30px;
}

.project-wrapper img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.project-wrapper {
	height: 719px;
	overflow: hidden;
}

.services-wrapper h2 {
	font-size: 36px;
	font-weight: bold;
	margin-bottom: 0;
}

.services-item h3 {
	font-size: 16px;
	margin-bottom: 0;
	padding-top: 20px;
	font-weight: 400;
}

.brown-background {
	background-color: #87682b !important;
}

.water-repellent .title {
	text-align: center;
	font-size: 24px;
	margin-bottom: 40px;
	font-weight: 700;
}

.water-repellent .title span {
	margin-right: 8px;
}

.water-repellent .table-box {
	border: 1px solid #666;
	overflow-x: auto;
	max-width: 885px;
	margin: 0 auto;
}

.water-repellent table {
	width: 100%;
	border-collapse: collapse;
	background: rgba(39, 39, 39, 1);
}

.water-repellent th,
.water-repellent td {
	border: 1px solid #555;
	padding: 12px;
	text-align: left;
}

.water-repellent td {
	font-size: 15px;
	font-weight: 700;
}

.water-repellent th {
	background: #222;
	text-align: center;
	font-size: 20px;
	font-weight: 700;
}

.water-repellent td ul {
	padding-left: 15px;
	margin: 0;
}

.water-repellent td ul li {
	margin-bottom: 5px;
}

.we-offer-box {
	border: 3px solid rgba(130, 100, 44, 1);
}

.we-offer-content {
	padding: 20px;
	min-height: 430px;
}

.we-offer-box h3 {
	font-size: 18px;
	margin-bottom: 0;
	text-align: center;
	padding: 20px;
	border-bottom: 3px solid rgba(130, 100, 44, 1);
}

/* Magnific Popup – full-width images */
.mfp-container {
	padding: 0 20px;
}

.mfp-figure figure {
	margin: 0;
}

.mfp-figure img {
	width: 100%;
	max-width: 100%;
	height: auto;
}

.mfp-image-holder .mfp-content {
	max-width: 90vw;
}

.mfp-bottom-bar {
	margin-top: 0;
	padding: 10px 0;
}

.portfolio-wrapper-one {
	position: relative;
	overflow: hidden;
	padding-top: 180px;
}

.section-bg-1,
.section-bg-2 {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 448px;
	object-fit: cover;
	opacity: 0.6;
}

.section-bg-3 {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 1383px;
	object-fit: cover;
	opacity: 0.6;
}

.portfolio-title {
	position: relative;
	text-align: center;
}

#portfolio-three {
	min-height: 1328px;
}

.portfolio-title span {
	background: #000;
	padding: 0 10px;
	font-weight: bold;
	max-width: 669px;
	font-size: 32px;
	display: block;
	margin: 0 auto;
	height: 107px;
	line-height: 107px;
}

.portfolio-content {
	background-color: #fff;
	padding: 20px;
	color: #000;
	font-weight: 700;
	line-height: 26px;
}

.coating-th-logo {
	padding: 5px !important;
}

.coating-note {
	text-align: right;
}

.portfolio-img .img {
	height: 100%;
	object-fit: cover;
}

.portfolio-img {
	height: 580px;
	overflow: hidden;
}

.contact-form-wrapper .wpcf7-form p {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	align-items: center;
	margin-bottom: 50px;
}

.contact-form-wrapper .contact-form-row-label {
	-webkit-box-flex: 0;
	-ms-flex: 0 0 25%;
	flex: 0 0 25%;
	max-width: 25%;
}

.contact-form-wrapper .contact-form-row-field {
	-webkit-box-flex: 0;
	-ms-flex: 0 0 75%;
	flex: 0 0 75%;
	max-width: 75%;
}

.contact-page-notice h3 {
	color: rgba(0, 120, 197, 1);
	font-size: 34px;
}

#tob-banner .inner-banner-title h1 {
	font-size: 64px;
	font-weight: 700;
}

#tob-banner .banner-sec {
	align-items: inherit;
}

.inner-banner-title h1 {
	padding-top: 30px;
}

#tob-banner .banner-sec .inner-banner-content {}

#tob-banner .banner-sec .container {
	height: 100%;
}

#tob-banner .banner-sec .container,
#tob-banner .banner-sec .row,
#tob-banner .banner-sec .inner-banner-content {
	height: 100%;
}

.reasons-title {
	border-bottom: 3px solid rgb(134, 99, 36);
	border-top: 3px solid rgb(134, 99, 36);

	margin: 0 auto;
	padding: 40px 0 50px;
}

.reasons-title h2 {
	font-weight: 800;
	color: rgba(246, 212, 157, 1);
	font-size: 48px;
	margin-bottom: 0;
}

.reasons-title h2 span {
	font-size: 64px;
}

.reasons-banner {
	background-position: center center;
	background-size: cover;
	height: 461px;
	align-items: end;
	display: flex;
	position: relative;
}

#tob-banner .banner-sec .container-fluid {
	height: 100%;
}

.reasons-item-content {
	position: absolute;
	left: 0;
	right: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	display: flex;
	align-items: end;
}

.reasons-text {
	background: rgba(0, 0, 0, 0.654);
	padding: 20px 40px;
	width: 100%;
	max-width: 737px;
}

.reasons-text h3 {
	font-weight: 700;
	color: rgba(246, 212, 157, 1);
	background: url("assets/img/tob/border.png") no-repeat center bottom;
	font-size: 23px;
	padding-bottom: 35px;
}

.reasons-text h4 {
	font-weight: 700;
	color: rgba(246, 212, 157, 1);
	font-size: 19px;
	margin-bottom: 10px;
}

.reasons-text p {
	font-size: 15px;
	line-height: 20px;
}

.reasons-text p span {
	color: rgba(246, 212, 157, 1);
}

.margin-right {
	margin-right: 8.333333%;
}

.reasons-text.margin-right {
	float: right;
}

.regarding-box p {
	margin-bottom: 0;
	font-weight: 700;
	font-size: 24px;
	line-height: 30px;
}

.regarding-box p span {
	color: rgba(188, 132, 71, 1);
}

.regarding-box {
	padding: 30px;
	text-align: left;
}

.regarding-contract {
	border-color: rgba(134, 99, 36, 1);
}

.border-bottom {
	border-color: rgba(134, 99, 36, 1) !important;
}

.border-right {
	border-color: rgba(134, 99, 36, 1) !important;
}

.border-top {
	border-color: rgba(134, 99, 36, 1) !important;
}

.border-left {
	border-color: rgba(134, 99, 36, 1) !important;
}

.case-box p {
	font-size: 24px;
	line-height: 30px;
	font-weight: 400;
}

.case-box h4 {
	font-size: 32px;
	font-weight: 700;
}

.case-sub-title {
	font-weight: 400;
	font-size: 20px;
}

.volume-title-sec h2 {
	font-size: 32px;
	font-weight: 700;
	color: rgba(246, 212, 157, 1);
}

.volume-wrapper .reasons-text {
	max-width: 500px;
	float: right;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.62);
}

.volume-wrapper .reasons-text h5 {
	font-size: 32px;
	font-weight: 700;
	margin-bottom: 0;
}

.volume-wrapper .reasons-item-content {
	display: block;
}

.news-card-img {
	width: 100%;
	height: 235px;
	position: relative;
	overflow: hidden;
}

.news-card-img img {
	width: 40%;
	height: 100%;
	object-fit: cover;
}

.banner-area.coating-banner::after {
	background: linear-gradient(90.45deg, #000000 36.21%, rgba(0, 0, 0, 0) 99.65%);
}

.page-template-page-carfilm .banner-area::after,
.page-template-page-gallery .banner-area::after,
.page-template-page-tob .banner-area::after {
	background: linear-gradient(90.45deg, #000000 5.21%, rgba(0, 0, 0, 0) 92.65%);
}

.page-template-page-carfilm-php .inner-banner-description,
.page-template-page-tob .inner-banner-description {}

@media screen and (min-device-width: 1200px) and (max-device-width: 1600px) and (-webkit-min-device-pixel-ratio: 2) and (min-resolution: 192dpi) {
	.banner-content h1 {
		font-size: 108px;
	}

	.hero-tagline p {
		font-size: 27px;
	}

	.hero-feature-card p {
		line-height: 20px;
	}
}

@media screen and (min-device-width:1601px) and (max-device-width: 1920px) and (-webkit-min-device-pixel-ratio: 2) and (min-resolution: 192dpi) {
	.hero-feature-card p {
		font-size: 14px;
	}

	.hero-tagline p {
		font-size: 31px;
		float: right;
	}

	.hero-feature-card h4 {
		font-size: 25px;
	}
}

/* ==========================================================================
   Responsive table scroll hint (shown above .table-box on mobile)
   ========================================================================== */
.table-scroll-wrapper {
	position: relative;
}

.table-scroll-hint {
	display: none;
}


/* Hide it by default (Desktop) */
.mobile-break {
	display: none;
}

/* Show it only on mobile (e.g., 768px or smaller) */
@media (max-width: 768px) {
	.mobile-break {
		display: inline;
		/* Or block */
	}

	.mobile-break::before {
		content: "\000a";
		/* The Unicode for a line break */
		white-space: pre;
	}

	.sticky-contact-banner {
		width: 60% !important;
	}
}


/* Container styling */
.sticky-contact-banner {
	position: fixed;
	top: 80%;
	right: 0px;
	width: 30%;
	max-width: 300px;
	z-index: 9999;
	background: #ffffff;
	border: 2px solid #0070bc;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
	transition: transform 0.3s ease;
	padding: 0;
	/* REMOVE padding here */
	overflow: hidden;
	/* Ensures background/hover stays inside borders */
}

/* Make the Link fill the entire container */
.sticky-contact-banner a {
	color: #0070bc;
	text-decoration: none;
	font-weight: bold;
	font-size: 1.1rem;

	/* Critical changes below */
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 15px 10px;
	/* ADD padding here instead */
}

/* Hover effect on the link directly */
.sticky-contact-banner a:hover {
	background-color: #f0f8ff;
	transform: scale(1.02);
	transition: 0.2s;
}