/* RSOLE INC – inner pages (About, Services, Gallery, Contact, Enquire, Equipment pages)
 * Path: wp-content/themes/logico-child/assets/rsole-pages.css (NEW)
 */

/* ---------- One font everywhere ---------- */
body.rx-new-header { font-family: var(--rx-font) !important; }
body.rx-new-header .content-wrapper :is(h1, h2, h3, h4, h5, h6, p, li, a, label, input, select, textarea, button, th, td, .price, .woocommerce-result-count) { font-family: var(--rx-font) !important; }

/* ---------- Page banner ---------- */
.rx-banner {
	position: relative; display: flex; align-items: flex-end; min-height: 460px; box-sizing: border-box;
	padding: 190px 0 84px; background: var(--rx-dark) var(--rx-banner-img) center / cover no-repeat;
	font-family: var(--rx-font); color: #fff; -webkit-font-smoothing: antialiased; overflow: hidden;
}
.rx-banner::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8, 30, 52, .94) 0%, rgba(8, 30, 52, .8) 45%, rgba(8, 30, 52, .45) 100%); }
.rx-banner__inner { position: relative; z-index: 1; }
.rx-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; font-size: 14px; font-weight: 500; color: rgba(255, 255, 255, .78); line-height: 1.5; }
.rx-crumbs a { color: #fff !important; text-decoration: none !important; font-size: 14px !important; }
.rx-crumbs a:hover { color: var(--rx-blue) !important; }
.rx-crumbs .sep { margin: 0 6px; opacity: .55; }
.rx-banner__title {
	font-family: var(--rx-font) !important; font-size: clamp(30px, 3.4vw, 48px) !important; font-weight: 700 !important; line-height: 1.15 !important;
	letter-spacing: -.01em !important; text-transform: uppercase !important; color: #fff !important; margin: 14px 0 0 !important; max-width: 920px;
}
.rx-banner__text { font-size: 19px !important; line-height: 1.65 !important; color: rgba(255, 255, 255, .88) !important; margin: 16px 0 0 !important; max-width: 660px; font-weight: 400; }
.rx-banner-sec, .rx-banner-sec > .elementor-widget, .rx-banner-sec .elementor-widget-container, .rx-banner-sec .elementor-shortcode { padding: 0 !important; margin: 0 !important; width: 100% !important; }

/* Woo pages: old banner/title bits off, header on top of the banner */
.rsole-page-hero { display: none !important; }
.rsole-has-hero .page-title-container, .rsole-has-hero .woocommerce-products-header { display: none !important; }

/* ---------- Sections ---------- */
.rx-head--center { grid-template-columns: 1fr !important; text-align: center; justify-items: center; max-width: 760px; margin-left: auto !important; margin-right: auto !important; gap: 16px !important; }
.rx-split--rev > :first-child { order: 2; }
.rx-image--43 img { aspect-ratio: 4 / 3 !important; }
.rx-num, .rx-num p { font-size: 15px !important; font-weight: 700 !important; letter-spacing: .12em !important; color: var(--rx-blue) !important; margin: 0 !important; text-transform: uppercase; }

/* Numbers band */
.rx-stats-sec { background: var(--rx-navy) !important; padding: 64px 0 !important; }
.rx-stats { display: grid; grid-template-columns: repeat(4, 1fr); font-family: var(--rx-font); }
.rx-stat { text-align: center; padding: 6px 16px; border-left: 1px solid rgba(255, 255, 255, .16); }
.rx-stat:first-child { border-left: 0; }
.rx-stat strong { display: block; font-size: clamp(34px, 3.4vw, 46px); font-weight: 800; color: #fff; line-height: 1.1; }
.rx-stat span { display: block; margin-top: 8px; font-size: 16px; font-weight: 500; color: rgba(255, 255, 255, .8); }

/* Timeline */
.rx-timeline { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; position: relative; font-family: var(--rx-font); }
.rx-timeline::before { content: ''; position: absolute; left: 10px; right: 10px; top: 10px; height: 2px; background: var(--rx-line); }
.rx-tl { position: relative; padding-top: 44px; }
.rx-tl__dot { position: absolute; top: 0; left: 0; width: 22px; height: 22px; border-radius: 50%; background: var(--rx-blue); box-shadow: 0 0 0 6px #E3F1FC; }
.rx-tl__year { font-size: 34px; font-weight: 800; color: var(--rx-blue); line-height: 1.1; margin-bottom: 10px; }
.rx-tl__title { font-family: var(--rx-font) !important; font-size: 19px !important; font-weight: 600 !important; color: var(--rx-dark) !important; line-height: 1.35 !important; margin: 0 0 8px !important; text-transform: none !important; letter-spacing: 0 !important; }
.rx-tl__text { font-size: 16px; line-height: 1.7; color: var(--rx-muted); margin: 0; }

/* Feature cards */
.rx-features { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; font-family: var(--rx-font); }
.rx-feature { background: #fff; border: 1px solid var(--rx-line); border-radius: var(--rx-radius); padding: 32px 26px; transition: box-shadow .2s, transform .2s; }
.rx-feature:hover { box-shadow: var(--rx-shadow); transform: translateY(-3px); }
.rx-feature__icon { display: block; width: 60px; height: 60px; color: var(--rx-navy); margin-bottom: 20px; }
.rx-feature__icon svg { width: 100%; height: 100%; display: block; }
.rx-feature__title { font-family: var(--rx-font) !important; font-size: 19px !important; font-weight: 600 !important; color: var(--rx-dark) !important; line-height: 1.35 !important; margin: 0 0 10px !important; text-transform: none !important; letter-spacing: 0 !important; }
.rx-feature__text { font-size: 16px; line-height: 1.7; color: var(--rx-muted); margin: 0; }

/* Services rows */
.rx-rows { gap: 96px !important; }
.rx-dark .rx-image img { box-shadow: none; }
.rx-minis { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin: 6px 0 !important; }
.rx-minis div { background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .12); border-radius: 14px; padding: 20px; }
.rx-minis h4 { font-family: var(--rx-font) !important; font-size: 18px !important; font-weight: 600 !important; color: #fff !important; margin: 0 0 8px !important; text-transform: none !important; letter-spacing: 0 !important; }
.rx-minis p { font-size: 15px !important; line-height: 1.65 !important; color: rgba(255, 255, 255, .78) !important; margin: 0 !important; }

/* Gallery */
.rx-gallery { font-family: var(--rx-font); }
.rx-gal-tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 0 0 36px; }
.rx-gal-tabs button {
	font-family: var(--rx-font) !important; font-size: 15px !important; font-weight: 600 !important; line-height: 1 !important; text-transform: none !important; letter-spacing: 0 !important;
	padding: 13px 22px !important; border-radius: 999px !important; border: 1px solid var(--rx-line) !important; background: #fff !important; color: var(--rx-text) !important; cursor: pointer; transition: all .2s;
}
.rx-gal-tabs button:hover { border-color: var(--rx-blue) !important; color: var(--rx-blue) !important; }
.rx-gal-tabs button.is-active { background: var(--rx-blue) !important; border-color: var(--rx-blue) !important; color: #fff !important; }
.rx-gal-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.rx-gal-item { position: relative; display: block; aspect-ratio: 4 / 3; border-radius: 12px; overflow: hidden; background: var(--rx-bg); }
.rx-gal-item img { width: 100% !important; height: 100% !important; object-fit: cover; display: block; transition: transform .4s; border-radius: 0 !important; }
.rx-gal-item::after { content: ''; position: absolute; inset: 0; background: rgba(10, 37, 64, 0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5M11 8v6M8 11h6'/%3E%3C/svg%3E") center / 0 no-repeat; transition: all .25s; }
.rx-gal-item:hover img { transform: scale(1.06); }
.rx-gal-item:hover::after { background-color: rgba(10, 37, 64, .45); background-size: 34px; }
.rx-gal-item.is-hidden { display: none; }

/* Video */
.rx-video { max-width: 1000px; margin: 0 auto !important; width: 100%; }
.rx-video .elementor-wrapper, .rx-video iframe { border-radius: 20px; overflow: hidden; }

/* Contact */
.rx-contact { display: grid !important; grid-template-columns: 1fr 1.15fr; gap: 56px !important; align-items: start !important; }
.rx-ccards { display: grid; gap: 14px; font-family: var(--rx-font); margin-top: 6px; }
.rx-ccard { display: flex; align-items: center; gap: 16px; padding: 18px 20px; background: #fff; border: 1px solid var(--rx-line); border-radius: 14px; text-decoration: none !important; transition: border-color .2s, box-shadow .2s; }
a.rx-ccard:hover { border-color: var(--rx-blue); box-shadow: var(--rx-shadow); }
.rx-ccard__ico { flex: 0 0 52px; width: 52px; height: 52px; border-radius: 50%; background: #E8F3FC; color: var(--rx-blue); display: flex; align-items: center; justify-content: center; }
.rx-ccard__ico .rx-ico { width: 22px; height: 22px; }
.rx-ccard small { display: block; font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--rx-muted); margin-bottom: 3px; }
.rx-ccard strong { display: block; font-size: 17px; font-weight: 600; color: var(--rx-dark); line-height: 1.5; }
.rx-formcard { background: #fff; border-radius: 20px; box-shadow: 0 20px 50px rgba(10, 37, 64, .1); padding: 40px !important; border: 1px solid var(--rx-line); }
.rx-formcard-title .elementor-heading-title { font-family: var(--rx-font) !important; font-size: 24px !important; font-weight: 700 !important; color: var(--rx-dark) !important; text-transform: none !important; letter-spacing: 0 !important; margin: 0 0 6px !important; }
.rx-map { padding: 0 0 96px !important; }
.rx-map iframe { border-radius: 20px !important; display: block; height: 440px !important; filter: grayscale(.2); }
.rx-map .elementor-custom-embed { border-radius: 20px; overflow: hidden; }

/* Enquire */
.rx-enq { display: grid !important; grid-template-columns: 1.45fr 1fr; gap: 40px !important; align-items: start !important; }
.rx-infocard { background: var(--rx-dark) !important; border-radius: 20px; padding: 40px !important; gap: 18px !important; position: sticky; top: 120px; }
.rx-infocard .rx-ccards { margin-top: 4px; }
.rx-infocard .rx-ccard { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .14); }
.rx-infocard .rx-ccard strong { color: #fff; font-size: 16px; }
.rx-infocard .rx-ccard small { color: rgba(255, 255, 255, .65); }
.rx-infocard .rx-ccard__ico { background: rgba(15, 150, 240, .18); }

/* Forms (WPForms) */
.rx-form .wpforms-container { margin: 0 !important; }
.rx-form .wpforms-field { padding: 8px 0 !important; }
.rx-form .wpforms-field-label, .rx-form .wpforms-field-label-inline, .rx-form legend.wpforms-field-label { font-family: var(--rx-font) !important; font-size: 14px !important; font-weight: 600 !important; color: var(--rx-dark) !important; margin: 0 0 8px !important; text-transform: none !important; letter-spacing: 0 !important; }
.rx-form .wpforms-required-label { color: #E5484D !important; }
.rx-form :is(input[type=text], input[type=email], input[type=tel], input[type=number], input[type=url], select, textarea) {
	width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; font-family: var(--rx-font) !important; font-size: 15px !important; color: var(--rx-text) !important;
	background: #F8FAFC !important; border: 1px solid #D5DEE8 !important; border-radius: 10px !important; padding: 12px 16px !important; height: 50px !important; box-shadow: none !important; margin: 0 !important;
}
.rx-form textarea { height: 140px !important; min-height: 140px !important; resize: vertical; }
.rx-form :is(input, select, textarea):focus { border-color: var(--rx-blue) !important; background: #fff !important; outline: none !important; box-shadow: 0 0 0 3px rgba(15, 150, 240, .15) !important; }
.rx-form .wpforms-field-sublabel, .rx-form .wpforms-field-description { font-size: 13px !important; color: var(--rx-muted) !important; margin-top: 6px !important; }
.rx-form .wpforms-submit-container { padding-top: 14px !important; margin: 0 !important; }
.rx-form button[type=submit], .rx-form .wpforms-submit {
	font-family: var(--rx-font) !important; font-size: 16px !important; font-weight: 600 !important; text-transform: none !important; letter-spacing: 0 !important; line-height: 1 !important;
	height: auto !important; padding: 17px 36px !important; border-radius: 999px !important; border: 0 !important; background: var(--rx-blue) !important; color: #fff !important; cursor: pointer; transition: background .2s;
}
.rx-form button[type=submit]:hover { background: var(--rx-blue-d) !important; }
.rx-form .wpforms-field-layout-columns, .rx-form .wpforms-layout-row { gap: 0 16px; }

/* Text pages (privacy) */
.rx-prose { max-width: 880px; margin: 0 auto; }
.rx-prose, .rx-prose p, .rx-prose li { font-family: var(--rx-font) !important; font-size: 17px !important; line-height: 1.8 !important; color: var(--rx-muted) !important; }
.rx-prose :is(h2, h3, h4) { font-family: var(--rx-font) !important; font-size: 22px !important; font-weight: 700 !important; color: var(--rx-dark) !important; margin: 36px 0 12px !important; text-transform: none !important; letter-spacing: 0 !important; line-height: 1.35 !important; }
.rx-prose a { color: var(--rx-blue) !important; }

/* ---------- Equipment pages (shop, categories, single) ---------- */
.rsole-has-hero .content-wrapper { max-width: 1280px !important; margin: 0 auto !important; padding: 80px 20px 0 !important; box-sizing: border-box; }
body.rsole-has-hero:not(.rx-cta-page) #colophon, body.rsole-has-hero footer#colophon { margin-top: 96px !important; }

/* Loops: same cards as the homepage */
.woocommerce ul.products { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 24px !important; margin: 0 !important; padding: 0 !important; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product.rx-li { width: auto !important; margin: 0 !important; padding: 0 !important; float: none !important; list-style: none !important; display: flex; }
.woocommerce ul.products li.product.rx-li::before { display: none !important; }
.woocommerce ul.products li.rx-li .rx-card { width: 100%; }
.woocommerce ul.products.columns-4 { grid-template-columns: repeat(4, 1fr); }

/* Shop intro */
.rsole-shop-intro__eyebrow { display: none !important; }
.rsole-shop-intro { margin: 0 0 32px !important; }
.rsole-shop-intro__title { font-family: var(--rx-font) !important; font-size: clamp(26px, 2.4vw, 34px) !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: -.01em !important; color: var(--rx-dark) !important; line-height: 1.2 !important; margin: 0 0 12px !important; }
.rsole-shop-intro p { font-size: 17px !important; line-height: 1.75 !important; color: var(--rx-muted) !important; max-width: 820px; }
.woocommerce-result-count { font-size: 15px !important; color: var(--rx-muted) !important; }
.catalog-top-info-wrapper { margin-bottom: 24px !important; align-items: center; }
.woocommerce-ordering select, .woocommerce-ordering .select2-selection { font-family: var(--rx-font) !important; font-size: 15px !important; border-radius: 10px !important; }

/* Sidebar */
.rsole-has-hero .sidebar .widget { font-family: var(--rx-font) !important; }
.rsole-has-hero .sidebar :is(.widget-title, .wp-block-title, h6) { font-family: var(--rx-font) !important; font-size: 16px !important; font-weight: 700 !important; color: var(--rx-dark) !important; text-transform: uppercase !important; letter-spacing: .03em !important; }
.rsole-has-hero .sidebar :is(li, a, span, label) { font-family: var(--rx-font) !important; font-size: 15px !important; }
.rsole-has-hero .sidebar a:hover { color: var(--rx-blue) !important; }
.rsole-has-hero .sidebar input[type=search] { font-family: var(--rx-font) !important; font-size: 15px !important; border-radius: 10px !important; }
.rsole-side-cta { border-radius: 16px !important; background: var(--rx-dark) !important; }
.rsole-side-cta p { font-size: 15px !important; line-height: 1.65 !important; }

/* Pagination */
.woocommerce-pagination { margin-top: 48px !important; }
.woocommerce-pagination :is(a, span) { font-family: var(--rx-font) !important; font-size: 15px !important; font-weight: 600 !important; }

/* Single equipment */
.single-product div.product { display: grid !important; grid-template-columns: 1.1fr 1fr; gap: 56px; align-items: start; }
.single-product div.product > .woocommerce-product-gallery, .single-product div.product > .summary { width: auto !important; float: none !important; margin: 0 !important; max-width: none !important; }
.single-product div.product > :not(.woocommerce-product-gallery):not(.summary) { grid-column: 1 / -1; }
.single-product .woocommerce-product-gallery .flex-viewport, .single-product .woocommerce-product-gallery__image img { border-radius: 20px !important; }
.single-product .flex-control-thumbs img { border-radius: 10px !important; aspect-ratio: 4 / 3; object-fit: cover; opacity: .65; transition: opacity .2s; }
.single-product .flex-control-thumbs img.flex-active, .single-product .flex-control-thumbs img:hover { opacity: 1; }
.single-product .summary .price, .single-product .summary .price * { font-family: var(--rx-font) !important; font-size: 28px !important; font-weight: 700 !important; color: var(--rx-dark) !important; line-height: 1.2 !important; }
.single-product .summary .price { margin: 0 0 14px !important; }
.single-product .woocommerce-product-details__short-description p { font-size: 17px !important; line-height: 1.75 !important; color: var(--rx-muted) !important; }
.rsole-spec-table { border-radius: 14px !important; overflow: hidden; border: 1px solid var(--rx-line) !important; border-collapse: separate !important; border-spacing: 0; width: 100%; }
.rsole-spec-table :is(th, td) { font-size: 15px !important; padding: 13px 18px !important; border: 0 !important; border-bottom: 1px solid var(--rx-line) !important; }
.rsole-spec-table tr:last-child :is(th, td) { border-bottom: 0 !important; }
.rsole-spec-table th { color: var(--rx-muted) !important; font-weight: 500 !important; background: var(--rx-bg) !important; }
.rsole-spec-table td { color: var(--rx-dark) !important; font-weight: 600 !important; }
.rsole-enquiry-box { background: var(--rx-dark) !important; border-radius: 18px !important; padding: 24px !important; margin-top: 24px !important; }
.rsole-enquiry-box .rsole-btn { font-family: var(--rx-font) !important; font-size: 15px !important; font-weight: 600 !important; text-transform: none !important; letter-spacing: 0 !important; border-radius: 999px !important; padding: 15px 20px !important; }
.rsole-enquiry-box .rsole-btn--solid { background: var(--rx-blue) !important; }
.rsole-enquiry-note { font-size: 14px !important; line-height: 1.6 !important; }
.single-product .woocommerce-tabs { margin-top: 24px !important; }
.single-product .woocommerce-tabs ul.tabs { border-bottom: 1px solid var(--rx-line) !important; margin: 0 0 28px !important; padding: 0 !important; }
.single-product .woocommerce-tabs ul.tabs li a { font-family: var(--rx-font) !important; font-size: 16px !important; font-weight: 600 !important; text-transform: none !important; letter-spacing: 0 !important; }
.single-product .woocommerce-Tabs-panel { max-width: 900px; }
.single-product .woocommerce-Tabs-panel :is(h2, h3) { font-family: var(--rx-font) !important; font-size: 22px !important; font-weight: 700 !important; color: var(--rx-dark) !important; text-transform: none !important; letter-spacing: 0 !important; margin: 0 0 12px !important; }
.single-product .woocommerce-Tabs-panel :is(p, li) { font-size: 17px !important; line-height: 1.75 !important; color: var(--rx-muted) !important; }
.single-product .related > h2, .single-product .up-sells > h2 { font-family: var(--rx-font) !important; font-size: clamp(26px, 2.4vw, 34px) !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: -.01em !important; color: var(--rx-dark) !important; margin: 72px 0 28px !important; line-height: 1.2 !important; }

/* ---------- Responsive ---------- */
@media (max-width: 1200px) {
	.rx-gal-grid { grid-template-columns: repeat(4, 1fr); }
	.woocommerce ul.products.columns-4 { grid-template-columns: repeat(3, 1fr); }
	.single-product .related ul.products li:nth-child(4) { display: none !important; }
}
@media (max-width: 1024px) {
	.rx-banner { min-height: 400px; padding: 170px 0 64px; }
	.rx-stats { grid-template-columns: repeat(2, 1fr); row-gap: 32px; }
	.rx-stat:nth-child(3) { border-left: 0; }
	.rx-timeline { grid-template-columns: 1fr 1fr; row-gap: 40px; }
	.rx-timeline::before { display: none; }
	.rx-features { grid-template-columns: 1fr 1fr; }
	.rx-split--rev > :first-child { order: 0; }
	.rx-rows { gap: 72px !important; }
	.rx-contact, .rx-enq { grid-template-columns: 1fr; gap: 40px !important; }
	.rx-infocard { position: static; }
	.woocommerce ul.products { grid-template-columns: repeat(2, 1fr); }
	.woocommerce ul.products.columns-4 { grid-template-columns: repeat(2, 1fr); }
	.single-product .related ul.products li:nth-child(4) { display: flex !important; }
	.single-product div.product { grid-template-columns: 1fr; gap: 36px; }
	.rsole-has-hero .content-wrapper { padding-top: 60px !important; }
	.rx-map { padding-bottom: 72px !important; }
}
@media (max-width: 900px) {
	.rx-gal-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 767px) {
	.rx-banner { min-height: 0; padding: 140px 0 52px; }
	.rx-banner__title { font-size: 30px !important; }
	.rx-banner__text { font-size: 17px !important; }
	.rx-stats-sec { padding: 52px 0 !important; }
	.rx-stat span { font-size: 15px; }
	.rx-timeline { grid-template-columns: 1fr; padding-left: 4px; }
	.rx-timeline::before { display: block; left: 14px; right: auto; top: 12px; bottom: 12px; width: 2px; height: auto; }
	.rx-tl { padding: 0 0 0 48px; }
	.rx-tl__dot { top: 6px; left: 4px; }
	.rx-tl__year { font-size: 28px; }
	.rx-features { grid-template-columns: 1fr; }
	.rx-feature { padding: 26px 22px; }
	.rx-minis { grid-template-columns: 1fr; }
	.rx-gal-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
	.rx-gal-tabs { gap: 8px; margin-bottom: 24px; }
	.rx-gal-tabs button { padding: 11px 16px !important; font-size: 14px !important; }
	.rx-formcard, .rx-infocard { padding: 26px 20px !important; }
	.rx-map { padding-bottom: 60px !important; }
	.rx-map iframe { height: 340px !important; }
	.rsole-has-hero .content-wrapper { padding-top: 48px !important; }
	.single-product .summary .price, .single-product .summary .price * { font-size: 24px !important; }
	.rx-ccard strong { font-size: 16px; }
}
@media (max-width: 600px) {
	.woocommerce ul.products, .woocommerce ul.products.columns-4 { grid-template-columns: 1fr; }
}

/* ---------- Fixes after first preview ---------- */
/* Forms: plain labels above the fields (no floating theme labels) */
.rx-form .logico-label-placeholder { display: none !important; }
.rx-form .logico-label-wrapper { position: static !important; }
.rx-form label.wpforms-field-label { display: block !important; position: static !important; opacity: 1 !important; visibility: visible !important; transform: none !important; pointer-events: auto; }
.rx-form .wpforms-field-wrapper { position: static !important; }
.rx-form button[type=submit]::before, .rx-form button[type=submit]::after { display: none !important; content: none !important; }
.rx-form button[type=submit] > :not(span.wpforms-submit-text) { display: none !important; }
.rx-form .wpforms-submit { padding-right: 36px !important; }
/* Shortcode widgets inside columns use the full width */
.rx-col > .elementor-widget-shortcode, .rx-infocard > .elementor-widget-shortcode, .rx-col > .elementor-widget-text-editor { width: 100% !important; max-width: 100% !important; }
.rx-prose { width: 100% !important; max-width: 880px !important; margin: 0 auto !important; }
.rx-infocard .rx-title .elementor-heading-title { font-size: 26px !important; }
.woocommerce .rsole-shop-intro h2.rsole-shop-intro__title { font-family: var(--rx-font) !important; font-size: clamp(26px, 2.4vw, 34px) !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: -.01em !important; color: var(--rx-dark) !important; }
.single-product .related > :is(h2, h3), .single-product .up-sells > :is(h2, h3) { font-family: var(--rx-font) !important; font-size: clamp(26px, 2.4vw, 34px) !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: -.01em !important; color: var(--rx-dark) !important; margin: 56px 0 28px !important; line-height: 1.2 !important; }
.rsole-side-cta .wp-block-title, .rsole-side-cta h6 { color: #fff !important; text-transform: none !important; font-size: 18px !important; letter-spacing: 0 !important; }
.single-product .woocommerce-tabs { margin-top: 8px !important; }
.rx-form .logico-form-field, .rx-form .wpforms-field-wrapper { border: 0 !important; padding: 0 !important; background: none !important; box-shadow: none !important; border-radius: 0 !important; height: auto !important; min-height: 0 !important; }
.rx-form .logico-form-field::before, .rx-form .logico-form-field::after, .rx-form .wpforms-field-wrapper::before, .rx-form .wpforms-field-wrapper::after { display: none !important; }
.rx-form .wpforms-field-select .wpforms-field-wrapper::after { display: none !important; }
.rx-form select { -webkit-appearance: none; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23556677' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: right 14px center !important; background-size: 18px !important; padding-right: 44px !important; }
/* Single equipment: keep photo + details side by side on tablets */
@media (max-width: 1024px) and (min-width: 861px) {
	.single-product div.product { grid-template-columns: 1fr 1fr; gap: 36px; }
}
@media (max-width: 860px) {
	.single-product div.product { grid-template-columns: 1fr; }
	.single-product .woocommerce-product-gallery { max-width: 640px !important; }
}
/* Forms: theme hides the top border of fields – bring it back */
.rx-form .wpforms-container .logico-form-field input, .rx-form .wpforms-container .logico-form-field textarea, .rx-form .wpforms-container .logico-form-field select,
.rx-form .wpforms-container .logico-form-field .logico-label-wrapper + input, .rx-form .wpforms-container .logico-form-field .logico-label-wrapper + textarea, .rx-form .wpforms-container .logico-form-field .logico-label-wrapper + select { border: 1px solid #D5DEE8 !important; border-top: 1px solid #D5DEE8 !important; border-top-color: #D5DEE8 !important; }
.rx-form .wpforms-container .logico-form-field :is(input, textarea, select):focus { border-color: var(--rx-blue) !important; border-top-color: var(--rx-blue) !important; }

/* Pagination: clean arrows */
.woocommerce-pagination .nav-links { display: flex; justify-content: center; align-items: center; gap: 8px; }
.woocommerce-pagination .page-numbers { display: inline-flex !important; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0 8px; border-radius: 10px !important; border: 1px solid var(--rx-line) !important; color: var(--rx-text) !important; text-decoration: none !important; background: #fff !important; box-sizing: border-box; }
.woocommerce-pagination .page-numbers.current, .woocommerce-pagination a.page-numbers:hover { background: var(--rx-blue) !important; border-color: var(--rx-blue) !important; color: #fff !important; }
.woocommerce-pagination .page-numbers.disabled { opacity: .4; }
.woocommerce-pagination .button-icon { font-size: 0 !important; display: block; width: 9px; height: 9px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; }
.woocommerce-pagination .button-icon::before, .woocommerce-pagination .button-icon::after { display: none !important; content: none !important; }
.woocommerce-pagination .next .button-icon { transform: rotate(45deg); margin-left: -3px; }
.woocommerce-pagination .prev .button-icon { transform: rotate(-135deg); margin-left: 3px; }

/* ---------- Single equipment: layout v2 ---------- */
/* Thumbnails: one neat row under the photo (theme turns them into a slider) */
.single-product .flex-control-thumbs { display: block !important; margin: 12px 0 0 !important; padding: 0 !important; }
.single-product .flex-control-thumbs .slick-list { overflow: visible !important; padding: 0 !important; }
.single-product .flex-control-thumbs .slick-track { display: flex !important; flex-wrap: wrap; gap: 10px; width: auto !important; transform: none !important; }
.single-product .flex-control-thumbs .slick-track::before, .single-product .flex-control-thumbs .slick-track::after { display: none !important; }
.single-product .flex-control-thumbs li { flex: 0 0 calc((100% - 40px) / 5) !important; width: calc((100% - 40px) / 5) !important; margin: 0 !important; float: none !important; list-style: none !important; }
.single-product .flex-control-thumbs li img { width: 100% !important; height: auto !important; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 10px !important; cursor: pointer; display: block; }
.single-product .flex-control-thumbs .slick-arrow, .single-product .flex-control-thumbs .slick-dots { display: none !important; }

/* Rows: less space between parts */
.single-product div.product { row-gap: 48px !important; }

/* Description: one clean card, no single tab button */
.single-product .woocommerce-tabs { margin: 0 !important; padding: 44px 48px !important; background: var(--rx-bg); border-radius: 20px; }
.single-product .woocommerce-tabs ul.tabs { display: none !important; }
.single-product .woocommerce-Tabs-panel { max-width: none !important; margin: 0 !important; padding: 0 !important; display: block !important; }
.single-product .woocommerce-Tabs-panel > :last-child { margin-bottom: 0 !important; }
.single-product .woocommerce-Tabs-panel h3 { margin: 28px 0 12px !important; }
.single-product .woocommerce-Tabs-panel h3:first-child, .single-product .woocommerce-Tabs-panel > :first-child { margin-top: 0 !important; }
.single-product .woocommerce-Tabs-panel ul { list-style: none !important; padding: 0 !important; margin: 0 0 20px !important; display: grid; grid-template-columns: 1fr 1fr; gap: 12px 28px; }
.single-product .woocommerce-Tabs-panel ul li { list-style: none !important; position: relative; padding-left: 34px !important; margin: 0 !important; font-size: 16px !important; line-height: 1.55 !important; color: var(--rx-dark) !important; font-weight: 500; }
.single-product .woocommerce-Tabs-panel ul li::before { content: '' !important; display: block !important; position: absolute; left: 0; top: 1px; width: 22px; height: 22px; border-radius: 50%; background: var(--rx-blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center / 13px no-repeat; }
.single-product .woocommerce-Tabs-panel > p:last-of-type { font-size: 15px !important; margin-bottom: 0 !important; }

/* Similar equipment: close to the card above */
.single-product section.related { margin: 0 !important; padding: 0 !important; }
.single-product .related > :is(h2, h3) { margin: 0 0 24px !important; }

/* Price label above "Call for Price" */
.single-product .summary .price::before { content: 'Price'; display: block; font-size: 13px !important; font-weight: 600 !important; letter-spacing: .08em; text-transform: uppercase; color: var(--rx-muted) !important; margin-bottom: 4px; line-height: 1.4 !important; }

@media (max-width: 767px) {
	.single-product div.product { row-gap: 36px !important; }
	.single-product .woocommerce-tabs { padding: 26px 20px !important; }
	.single-product .woocommerce-Tabs-panel ul { grid-template-columns: 1fr; }
	.single-product .flex-control-thumbs li { flex-basis: calc((100% - 30px) / 4) !important; width: calc((100% - 30px) / 4) !important; }
}
.single-product .woocommerce-Tabs-panel ul li::before { width: 22px !important; height: 22px !important; top: 1px !important; left: 0 !important; border-radius: 50% !important; transform: none !important; background-size: 13px !important; background-position: center !important; background-repeat: no-repeat !important; }
.rsole-enquiry-box .rsole-enquiry-note { margin: 16px 0 0 !important; }
.rsole-enquiry-box .rsole-enquiry-alt { margin-top: 12px !important; gap: 12px !important; }

/* Equipment pages: line content up with the banner/header (theme columns already add 20px each side) */
.rsole-has-hero .content-wrapper { padding-left: 0 !important; padding-right: 0 !important; }
/* Product photo + details: never wider than the screen */
.single-product div.product > .woocommerce-product-gallery, .single-product div.product > .summary { min-width: 0 !important; }
.single-product .woocommerce-product-gallery { overflow: hidden; }
.single-product .woocommerce-product-gallery .flex-viewport { max-width: 100%; }
.rsole-has-hero .content-wrapper > .content { margin-left: 20px !important; margin-right: 20px !important; }
@media (min-width: 1025px) { .rsole-has-hero .content-wrapper > aside.sidebar { margin-left: 20px !important; margin-right: 20px !important; } }
@media (min-width: 1025px) {
	.rsole-has-hero .content-wrapper.content-wrapper-sidebar-position-left { display: flex !important; flex-wrap: nowrap !important; align-items: flex-start; }
	.rsole-has-hero .content-wrapper-sidebar-position-left > aside.sidebar { order: -1; flex: 0 0 260px !important; width: 260px !important; max-width: 260px !important; }
	.rsole-has-hero .content-wrapper-sidebar-position-left > .content { flex: 1 1 auto !important; width: auto !important; max-width: none !important; min-width: 0 !important; }
}
@media (max-width: 1200px) and (min-width: 1025px) {
	.rsole-has-hero .content-wrapper-sidebar-position-left .woocommerce ul.products, .rsole-has-hero .content-wrapper-sidebar-position-left ul.products { grid-template-columns: repeat(2, 1fr); }
}

/* Equipment pages: equal 20px space left and right (theme used 60px in total) */
.rsole-has-hero .content-wrapper.content-wrapper-sidebar-position-none > .content { width: calc(100% - 40px) !important; }
@media (max-width: 1024px) { .rsole-has-hero .content-wrapper > .content { width: calc(100% - 40px) !important; } }

/* Product thumbnails: rounded corners */
.single-product .flex-control-thumbs li, .single-product .flex-control-thumbs .slick-slide { border-radius: 10px !important; overflow: hidden !important; }
.single-product .flex-control-thumbs li img, .single-product .flex-control-thumbs .slick-slide img { border-radius: 10px !important; }

/* Product thumbnails: clean rounded photos, no frames */
.single-product .flex-control-thumbs li, .single-product .flex-control-thumbs .slick-slide { border: 0 !important; outline: 0 !important; box-shadow: none !important; border-radius: 10px !important; overflow: hidden !important; padding: 0 !important; }
.single-product .flex-control-thumbs li img { border: 0 !important; outline: 0 !important; box-shadow: none !important; border-radius: 10px !important; margin: 0 !important; transform: none !important; }
.single-product .flex-control-thumbs li img { opacity: .7 !important; transition: opacity .2s; }
.single-product .flex-control-thumbs li img.flex-active, .single-product .flex-control-thumbs li:hover img { opacity: 1 !important; }
.single-product .flex-control-thumbs .slick-list { margin: 0 !important; }
/* Main photo: all four corners rounded */
.single-product .woocommerce-product-gallery .flex-viewport { border-radius: 20px !important; overflow: hidden !important; }
.single-product .woocommerce-product-gallery__image, .single-product .woocommerce-product-gallery__image a { border-radius: 0 !important; }

/* ---------- Client round 3 ---------- */
/* Gallery: photos stay small, no pop-up on click */
.rx-gal-item { cursor: default; }
.rx-gal-item::after { display: none !important; }
.rx-gal-item:hover img { transform: none; }
.rx-gal-item img { pointer-events: none; -webkit-user-drag: none; user-select: none; }
/* Text one size bigger */
.rx-banner__text { font-size: 20px !important; }
.rx-tl__text, .rx-feature__text { font-size: 17px; }
.rx-tl__title, .rx-feature__title { font-size: 20px !important; }
.rx-stat span { font-size: 17px; }
.rx-minis p { font-size: 16px !important; }
.rx-ccard strong { font-size: 18px; }
.rx-ccard small { font-size: 14px; }
.rx-form .wpforms-field-label { font-size: 15px !important; }
.rx-form :is(input[type=text], input[type=email], input[type=tel], input[type=number], input[type=url], select, textarea) { font-size: 16px !important; }
.rx-gal-tabs button { font-size: 16px !important; }
.rsole-shop-intro p, .single-product .woocommerce-product-details__short-description p, .single-product .woocommerce-Tabs-panel :is(p, li) { font-size: 18px !important; }
.rsole-spec-table :is(th, td) { font-size: 16px !important; }
.rsole-has-hero .sidebar :is(li, a, span, label) { font-size: 16px !important; }
.rx-prose, .rx-prose p, .rx-prose li { font-size: 18px !important; }
@media (max-width: 767px) {
	.rx-banner__text { font-size: 18px !important; }
	.rx-tl__text, .rx-feature__text { font-size: 16px; }
	.rx-ccard strong { font-size: 17px; }
	.rsole-shop-intro p, .single-product .woocommerce-product-details__short-description p, .single-product .woocommerce-Tabs-panel :is(p, li) { font-size: 17px !important; }
}

/* Equipment Sales banner: show the long line of trucks */
.woocommerce-shop .rx-banner { background-position: center 40% !important; }

/* Product thumbnails as a plain row (also before/without the theme slider) */
.single-product .flex-control-thumbs:not(.slick-initialized) { display: flex !important; flex-wrap: wrap !important; gap: 10px !important; margin: 12px 0 0 !important; padding: 0 !important; list-style: none !important; }
.single-product .flex-control-thumbs:not(.slick-initialized) > li { flex: 0 0 calc((100% - 40px) / 5) !important; width: calc((100% - 40px) / 5) !important; max-width: none !important; float: none !important; margin: 0 !important; }
.single-product .flex-control-thumbs li img { width: 100% !important; height: auto !important; max-width: none !important; aspect-ratio: 4 / 3; object-fit: cover; }
@media (max-width: 767px) { .single-product .flex-control-thumbs:not(.slick-initialized) > li { flex-basis: calc((100% - 30px) / 4) !important; width: calc((100% - 30px) / 4) !important; } }
.single-product .woocommerce-product-gallery .flex-control-thumbs { width: 100% !important; align-self: stretch !important; box-sizing: border-box; }

/* Services page rows: wide frame so the machines fit */
.rx-rows .rx-image--43 img { aspect-ratio: 16 / 10 !important; object-fit: cover !important; }
