/* Brand Colors */
:root {
--brand-orange: #F16022;
--brand-teal: #00B28D;
--brand-dark-blue: #355267;
--brand-grey-blue: #7899A4;
--brand-light-grey: #E6DEDD;
/* Override m24b2b plugin brand colors to match theme */
--m24b2b-brand-primary: var(--brand-orange);
--m24b2b-brand-primary-hover: var(--brand-teal);
}

/* Primary brand color applications */
a {
color: var(--brand-orange);
}
a:hover {
color: var(--brand-teal);
}

/* Button styles with brand colors */
.site-button,
.v-button,
.site-button.black,
.custom-pagination.pagination-1 li.active a,
.custom-pagination.pagination-1 li a:hover {
background: var(--brand-orange) !important;
border-color: var(--brand-orange) !important;
color: #fff !important;
}
.site-button:hover,
.v-button:hover {
background: var(--brand-teal) !important;
border-color: var(--brand-teal) !important;
}

/* Accent elements */
.wt-separator,
.wt-divider {
background-color: var(--brand-orange) !important;
}

/* Navigation hover states */
.header-nav .nav > li > a:hover,
.header-nav .nav > li.active > a {
color: var(--brand-orange);
}

/* Post meta and date styles */
.wt-post-meta .post-date strong,
.v-date {
color: var(--brand-orange);
}

/* Tags */
.tagcloud a,
.widget_tag_cloud a {
border-color: var(--brand-grey-blue);
color: var(--brand-dark-blue);
}
.tagcloud a:hover,
.widget_tag_cloud a:hover {
background: var(--brand-orange);
border-color: var(--brand-orange);
color: #fff;
}

/* Light grey backgrounds */
.bg-gray {
background-color: var(--brand-light-grey) !important;
}

/* Search button */
.search-btn,
.site-search-btn:hover {
color: var(--brand-orange);
}

/* Social icons hover */
.social-icons li a:hover {
background-color: var(--brand-orange);
border-color: var(--brand-orange);
}

/* Form focus states */
.form-control:focus,
input[type="text"]:focus,
input[type="email"]:focus,
textarea:focus {
border-color: var(--brand-teal);
outline: none;
}

/* Comment reply links */
.comment-reply-link:hover {
color: var(--brand-orange);
}

/* Breadcrumb styling */
.wt-breadcrumb,
.wt-breadcrumb li,
.wt-breadcrumb li a {
color: #fff !important;
}
.wt-breadcrumb li a:hover {
color: var(--brand-orange) !important;
}
/* Breadcrumb last item - orange */
.wt-breadcrumb li:last-child,
.breadcrumb_last {
color: var(--brand-orange) !important;
}


/* Adobe Fonts Typography - Override Google Fonts */
body {
font-family: obvia, sans-serif !important;
font-weight: 100;
}

/* Headlines - Obvia Bold (Expanded when available in Typekit kit) */
h1, h2, h3 {
font-family: obvia, sans-serif !important;
font-weight: 800 !important;
text-transform: none;
letter-spacing: 0;
}

/* Sub-heads - Obvia Bold */
h4, h5, h6 {
font-family: obvia, sans-serif !important;
font-weight: 800 !important;
}

/* Post titles and headlines */
.post-title,
.entry-title,
.banner-title-name h2,
.wt-post-title h2,
.wt-post-title h3,
.latest-blog-dark h3,
.latest-blog-square h2,
.wt-post-title .post-title a,
.post-title a {
font-family: obvia, sans-serif !important;
font-weight: 800 !important;
text-transform: none !important;
letter-spacing: -0.02em !important;
}

/* Banner title - larger size for single posts */
.banner-title-name h2 {
font-size: 32px !important;
line-height: 1.4 !important;
letter-spacing: 0 !important;
text-transform: none !important;
font-weight: 800 !important;
}

/* Widget titles - Obvia Bold */
.widget-title,
.tagcloud {
font-family: obvia, sans-serif !important;
font-weight: 800 !important;
text-transform: none;
}

/* Body copy - Obvia Light (readable weight; Thin was failing contrast/legibility) */
p,
.wt-post-text,
.entry-content,
.wt-post-info,
blockquote {
font-family: obvia, sans-serif !important;
font-weight: 300;
}

/* Post content - larger, more legible size */
.wt-post-text,
.wt-post-text p,
.entry-content,
.entry-content p {
font-size: 18px !important;
line-height: 1.8 !important;
}

/* Post title in content area */
.wt-post-title .post-title {
font-size: 28px !important;
line-height: 1.4 !important;
}

/* Intro paragraphs - Obvia Light */
.intro-para,
.archive-description,
.page-description {
font-family: obvia, sans-serif !important;
font-weight: 300;
}

/* Replace Crete Round uses */
.wt-post-readmore a,
.pricing-table-style-4 .pricingtable-type {
font-family: obvia, sans-serif !important;
font-style: normal;
}

/* Minimal All Round Gothic — nav only */
.vertical-nav,
.hilite-title span {
font-family: obvia, sans-serif !important;
}

/* Navigation — keep All Round Gothic sparingly */
.nav,
.navbar-nav,
.header-nav {
font-family: all-round-gothic, sans-serif !important;
}


/* Buttons and CTAs */
.site-button,
.v-button,
button {
font-family: obvia, sans-serif !important;
font-weight: 500;
}

/* Overlay card styles */
.latest-blog-dark-outer:not(.lad25-archive-lead) {
min-height: 250px;
height: 250px;
position: relative;
display: flex;
align-items: flex-end;
}
.latest-blog-dark-outer2:not(.lad25-archive-lead) {
min-height: 530px;
height: 530px;
position: relative;
display: flex;
align-items: flex-end;
}

/* Grid overlay cards - full height magazine covers */
.magazine-card-link {
display: block;
text-decoration: none;
}
.magazine-cover-card {
position: relative;
overflow: hidden;
display: block;
aspect-ratio: 2 / 3;
background: #fff;
}
.magazine-cover-card img {
width: 100%;
height: 100%;
object-fit: contain;
object-position: center;
display: block;
}
.magazine-cover-card .overlay-bx-2 {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
opacity: 0;
transition: opacity 0.3s ease;
background: rgba(241, 96, 34, 0.95);
display: flex;
align-items: flex-start;
justify-content: flex-start;
padding: 0;
}
.magazine-cover-card:hover .overlay-bx-2 {
opacity: 1;
}
.magazine-cover-card .line-amiation {
width: 100%;
display: flex;
flex-direction: column;
height: 100%;
}
.magazine-cover-card .wt-post-info {
text-align: left;
}
.magazine-cover-card .wt-post-title {
border-bottom: 1px solid rgba(255, 255, 255, 0.3);
padding-bottom: 15px;
}
.magazine-cover-card .wt-post-title span {
margin: 0;
font-family: obvia, sans-serif !important;
font-weight: 400;
}
.magazine-cover-card .wt-post-text p {
line-height: 1.6;
color: #fff;
}
.latest-blog-dark-outer:not(.lad25-archive-lead) a,
.latest-blog-dark-outer2:not(.lad25-archive-lead) a {
display: block;
width: 100%;
height: 100%;
text-decoration: none;
}
.latest-blog-dark {
position: relative;
z-index: 2;
}
.latest-blog-dark h3,
.latest-blog-square h2 {
line-height: 1.3;
}
.latest-blog-square {
padding: 40px;
position: relative;
z-index: 2;
}
.latest-blog-square p {
line-height: 1.6;
margin-bottom: 15px;
}
.latest-blog-square .v-date {
margin-top: 15px;
}
/* Pagination styles */
.pagination-bx {
margin-top: 30px;
}
.custom-pagination.pagination-1 {
list-style: none;
padding: 0;
margin: 0;
display: inline-flex;
}
.custom-pagination.pagination-1 li {
margin: 0;
}
.custom-pagination.pagination-1 li a,
.custom-pagination.pagination-1 li span {
display: block;
padding: 10px 16px;
background: #fff;
color: #999;
text-decoration: none;
transition: all 0.3s ease;
border: 1px solid #e0e0e0;
border-right: none;
}
.custom-pagination.pagination-1 li:last-child a,
.custom-pagination.pagination-1 li:last-child span {
border-right: 1px solid #e0e0e0;
}
.custom-pagination.pagination-1 li a:hover {
background: #000;
color: #fff;
border-color: #000;
position: relative;
z-index: 1;
}
.custom-pagination.pagination-1 li.active a {
background: #000;
color: #fff;
border-color: #000;
position: relative;
z-index: 1;
}
.custom-pagination.pagination-1 li.disabled span {
opacity: 0.5;
cursor: not-allowed;
}

/* Toqan AI Agent - Larger font size in message container */
.toqan-messages-container {
font-size: 16px;
}
.toqan-messages-container .toqan-message-content {
font-size: 16px;
line-height: 1.6;
}
.toqan-messages-container .toqan-message-content p {
font-size: 16px;
}

/* Company Listing Pages - Responsive Styles */
.company-featured-card {
min-height: 250px;
}
.company-card {
height: 100%;
}
.company-card-logo img {
width: 100%;
height: auto;
}
.exhibition-badge {
display: inline-block;
margin-bottom: 5px;
}

/* Full-width layout for company archives */
.featured-companies-section {
width: 100%;
}
.featured-companies-section .row {
margin-left: -15px;
margin-right: -15px;
}
.featured-companies-section .row > [class*="col-"] {
padding-left: 15px;
padding-right: 15px;
}
.directory-search-section,
.directory-search-wrapper {
max-width: 1200px;
margin: 0 auto;
padding: 0 30px;
}
.section-full.bg-gray {
padding-left: 0;
padding-right: 0;
}

/* Page Title Section - Force display */
.page-title-section {
text-align: center !important;
padding: 40px 30px !important;
background: #fff !important;
display: block !important;
}
.page-main-title {
font-size: 48px !important;
font-weight: 700 !important;
margin-bottom: 10px !important;
font-family: all-round-gothic, sans-serif !important;
color: #000 !important;
display: block !important;
}
.page-subtitle {
font-size: 18px !important;
color: #666 !important;
margin: 0 !important;
font-family: obvia, sans-serif !important;
font-weight: 100 !important;
display: block !important;
}

/* Hide redundant search button text, keep icon only - Higher specificity */
.directory-search-section .directory-search-submit .directory-search-icon,
.directory-search-wrapper .directory-search-submit .directory-search-icon {
display: none !important;
visibility: hidden !important;
opacity: 0 !important;
width: 0 !important;
height: 0 !important;
overflow: hidden !important;
}
.directory-search-section .directory-search-submit,
.directory-search-wrapper .directory-search-submit {
width: auto !important;
min-width: 50px !important;
padding: 14px 20px !important;
position: relative !important;
}
.directory-search-section .directory-search-submit::after,
.directory-search-wrapper .directory-search-submit::after {
content: "" !important;
display: block !important;
width: 18px !important;
height: 18px !important;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5L20 20'/%3E%3C/svg%3E") center / contain no-repeat;
}
.directory-search-submit:empty::after {
content: "" !important;
display: block !important;
width: 18px !important;
height: 18px !important;
background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5L20 20'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Empty state styling */
.no-companies-found {
padding: 60px 20px;
}
.no-companies-found h3 {
font-size: 32px;
font-weight: 700;
margin-bottom: 20px;
font-family: all-round-gothic, sans-serif !important;
}
.no-companies-found p {
font-size: 18px;
color: #666;
font-family: obvia, sans-serif !important;
}

/* Mobile Responsive - Company Listings */
@media (max-width: 768px) {
.page-title-section {
	padding: 30px 15px;
}
.page-main-title {
	font-size: 36px;
}
.page-subtitle {
	font-size: 16px;
}
.featured-companies-section .row {
	margin-left: -15px;
	margin-right: -15px;
}
.featured-companies-section {
	padding: 0;
}
.company-featured-card {
	min-height: 200px;
}
.company-featured-card .latest-blog-dark {
	padding: 15px !important;
}
.company-featured-card h3 {
	font-size: 18px !important;
}
.company-grid .col-lg-6 {
	margin-bottom: 30px;
}
.directory-search-section {
	padding: 20px 0;
}
.section-title {
	font-size: 20px !important;
}
}

/* Tablet Responsive */
@media (min-width: 769px) and (max-width: 991px) {
.company-featured-card {
	min-height: 220px;
}
}

/* Authentication Blocks - Theme Brand Color Overrides */
.m24b2b-auth-form .wp-block-button__link {
background-color: var(--brand-orange) !important;
border-color: var(--brand-orange) !important;
color: #fff !important;
}
.m24b2b-auth-form .wp-block-button__link:hover:not(:disabled) {
background-color: var(--brand-teal) !important;
border-color: var(--brand-teal) !important;
}
.m24b2b-auth-form .wp-block-button__link:focus {
outline-color: var(--brand-orange) !important;
}

/* Authentication form input focus states */
.m24b2b-auth-form input[type="text"]:focus,
.m24b2b-auth-form input[type="email"]:focus,
.m24b2b-auth-form select:focus,
.wp-block-input:focus {
border-color: var(--brand-teal) !important;
box-shadow: 0 0 0 3px rgba(0, 178, 141, 0.1) !important;
}

/* OTP input focus states */
.otp-input:focus {
border-color: var(--brand-orange) !important;
box-shadow: 0 0 0 3px rgba(241, 96, 34, 0.15) !important;
}
.otp-input:not(:placeholder-shown) {
border-color: var(--brand-orange) !important;
}

/* Authentication form links */
.m24b2b-auth-form .has-link-color,
.m24b2b-auth-form a {
color: var(--brand-orange) !important;
}
.m24b2b-auth-form .has-link-color:hover,
.m24b2b-auth-form a:hover {
color: var(--brand-teal) !important;
}
.m24b2b-auth-form .has-link-color:focus {
outline-color: var(--brand-orange) !important;
}

/* Resend OTP link */
.resend-otp-link {
color: var(--brand-orange) !important;
}
.resend-otp-link:hover {
color: var(--brand-teal) !important;
}

/* Select dropdown arrow color on focus */
.wp-block-select:focus,
.m24b2b-auth-form select:focus {
background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%2300B28D%22%2F%3E%3C%2Fsvg%3E') !important;
}

/* Focus visible for keyboard navigation */
.m24b2b-auth-form *:focus-visible {
outline-color: var(--brand-orange) !important;
}
