/*
Theme Name: Authority Pro
Theme URI: https://my.studiopress.com/themes/authority/
Description: Authority Pro is perfect for establishing trust and building your online business.
Author: StudioPress
Author URI: https://www.studiopress.com/

Version: 1.5.2

Tags: accessibility-ready, block-styles, custom-background, custom-colors, custom-logo, custom-menu, e-commerce, editor-style, featured-images, full-width-template, left-sidebar, one-column, right-sidebar, sticky-post, theme-options, threaded-comments, translation-ready, two-columns, wide-blocks

Template: genesis

License: GPL-2.0-or-later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Text Domain: authority-pro
Requires at least: 5.4
Requires PHP: 5.6
*/

/* Table of Contents
	- HTML5 Reset
		- Baseline Normalize
		- Box Sizing
		- Float Clearing
	- Defaults
		- Typographical Elements
		- Headings
		- Objects
		- Gallery
		- Forms
		- Tables
		- Screen Reader Text
	- Structure and Layout
		- Site Containers
		- Column Widths and Positions
		- Column Classes
	- Common Classes
		- Avatar
		- Genesis
		- Search Form
		- Titles
		- WordPress
	- Widgets
		- Flexible Widgets
		- Featured Content
	- Plugins
		- Genesis eNews Extended
		- Jetpack
		- WPForms
	- Skip Links
	- Site Header
		- Title Area
	- Site Navigation
		- Accessible Menu
		- Site Header Navigation
		- Footer Navigation
		- Social Navigation
	- Content Area
		- Featured Image
		- Entries
		- Entry Messages
		- Grid Entries
		- Entry Meta
		- Pagination
		- Comments
	- Sidebar
	- Top Banner
	- Footer Widgets
	- Site Footer
	- Media Queries
		- Max-width: 1360px
		- Max-width: 1250px
		- Max-width: 1075px
		- Max-width: 860px
		- Max-width: 800px
		- Max-width: 600px
	- Print Styles
*/


/* HTML5 Reset
---------------------------------------------------------------------------- */

/* normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css
---------------------------------------------------------------------------- */
/* stylelint-disable */
html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}
/* stylelint-enable */

/*ROBOT FONT*/
@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

/* Box Sizing
--------------------------------------------- */

html,
input[type="search"] {
	box-sizing: border-box;
}

*,
*::before,
*::after {
	box-sizing: inherit;
}


/* Float Clearing
--------------------------------------------- */

.author-box::before,
.clearfix::before,
.entry::before,
.entry-content::before,
.footer-widgets::before,
.nav-primary::before,
.nav-secondary::before,
.pagination::before,
.site-container::before,
.site-footer::before,
.site-header::before,
.site-inner::before,
.widget::before,
.wrap::before {
	content: " ";
	display: table;
}

.author-box::after,
.clearfix::after,
.entry::after,
.entry-content::after,
.footer-widgets::after,
.nav-primary::after,
.nav-secondary::after,
.pagination::after,
.site-container::after,
.site-footer::after,
.site-header::after,
.site-inner::after,
.widget::after,
.wrap::after {
	clear: both;
	content: " ";
	display: table;
}


/* Defaults
---------------------------------------------------------------------------- */

/* Typographical Elements
--------------------------------------------- */

body {
	background-color: #fff;
	color: #333;
	font-family: "Roboto", sans-serif;
	font-size: 16px;
	-webkit-font-smoothing: antialiased;
	font-weight: 500;
	line-height: 1.75;
	margin: 0;
	overflow-x: hidden;
}

a,
button,
input:focus,
input[type="button"],
input[type="reset"],
input[type="submit"],
textarea:focus,
.button,
.gallery img,
.more-link {
	transition: background-color 0.25s ease-in, border-color ease-in, transform 0.75s cubic-bezier(0.44, 0.51, 0.24, 0.99), box-shadow 1s cubic-bezier(0.44, 0.51, 0.24, 0.99);
}

a {
	color: #000cff;
	text-decoration: underline;
}

a:focus,
a:hover {
	color: #333;
	text-decoration: none;
}

p {
	margin: 0 0 28px;
	padding: 0;
}

ol,
ul {
	margin: 0;
	padding: 0;
}

li {
	list-style-type: none;
}

hr {
	border: 0;
	border-collapse: collapse;
	border-bottom: 1px solid currentColor;
	clear: both;
	color: #eee;
	margin: 1.65em 0;
}

b,
strong {
	font-weight: 700;
}

blockquote,
cite,
em,
i {
	font-style: italic;
}

mark {
	background: #ddd;
	color: #000;
}

blockquote {
	color: #555;
	font-size: 18px;
	line-height: 1.67;
	margin: 35px;
	position: relative;
}

blockquote::before {
	color: #ccc;
	content: "\201C";
	display: block;
	font-size: 80px;
	height: 0;
	left: -0.75em;
	position: absolute;
	top: -0.5em;
}

blockquote cite {
	color: #707070;
	display: block;
	font-family: "Source Sans Pro", "Helvetica Neue", Arial, sans-serif;
	font-size: 13px;
	font-style: normal;
	font-weight: 900;
	letter-spacing: 0.08em;
	margin-top: 24px;
	text-transform: uppercase;
}

.flexible-widgets blockquote,
.flexible-widgets blockquote p {
	font-size: 22px;
	line-height: 1.66;
}

/* Headings
--------------------------------------------- */

h1,
h2,
h3,
h4,
h5,
h6 {
	color: #111;
	font-family: "Source Sans Pro", "Helvetica Neue", Arial, sans-serif;
	font-weight: 900;
	line-height: 1.2;
	margin: 0 0 20px;
	text-decoration: none;
}

h3,
h4,
h5,
h6 {
	font-weight: 700;
}

h1 {
	font-size: 56px;
	letter-spacing: -0.03em;
	line-height: 1;
}

h2 {
	font-size: 42px;
	letter-spacing: -0.02em;
	line-height: 1.1;
}

h3 {
	color: #111;
	font-size: 28px;
	letter-spacing: -0.01em;
	line-height: 1.23;
}

.entry-content h2,
.entry-content h3,
.entry-content h4 {
	margin-bottom: 20px;
	margin-top: 40px;
}

h4 {
	color: #000cff;
	font-size: 24px;
	line-height: 1.2;
}

h5,
h6 {
	color: #000cff;
	font-size: 18px;
	letter-spacing: 0.1em;
	line-height: 1.5;
	text-transform: uppercase;
}

h6 {
	color: #555;
}

/* Objects
--------------------------------------------- */

embed,
iframe,
img,
object,
video,
.wp-caption {
	max-width: 100%;
}

img {
	height: auto;
}

img.image-border {
	border: 10px solid #fff;
	box-shadow: 0 20px 80px rgba(0, 0, 0, 0.2);
}

figure {
	margin: 0;
}

/* Gallery
--------------------------------------------- */

.gallery {
	overflow: hidden;
}

.gallery-item {
	float: left;
	margin: 0 0 28px;
	text-align: center;
}

.gallery-columns-1 .gallery-item {
	width: 100%;
}

.gallery-columns-2 .gallery-item {
	width: 50%;
}

.gallery-columns-3 .gallery-item {
	width: 33%;
}

.gallery-columns-4 .gallery-item {
	width: 25%;
}

.gallery-columns-5 .gallery-item {
	width: 20%;
}

.gallery-columns-6 .gallery-item {
	width: 16.6666%;
}

.gallery-columns-7 .gallery-item {
	width: 14.2857%;
}

.gallery-columns-8 .gallery-item {
	width: 12.5%;
}

.gallery-columns-9 .gallery-item {
	width: 11.1111%;
}

.gallery-columns-2 .gallery-item:nth-child(2n+1),
.gallery-columns-3 .gallery-item:nth-child(3n+1),
.gallery-columns-4 .gallery-item:nth-child(4n+1),
.gallery-columns-5 .gallery-item:nth-child(5n+1),
.gallery-columns-6 .gallery-item:nth-child(6n+1),
.gallery-columns-7 .gallery-item:nth-child(7n+1),
.gallery-columns-8 .gallery-item:nth-child(8n+1),
.gallery-columns-9 .gallery-item:nth-child(9n+1) {
	clear: left;
}

.gallery img {
	border: 1px solid #eee;
	height: auto;
	padding: 4px;
}

.gallery img:focus,
.gallery img:hover {
	border: 1px solid #999;
}

/* Forms
--------------------------------------------- */

input,
select,
textarea {
	background-color: #fff;
	border: 2px solid #ccc;
	color: #111;
	font-size: 18px;
	font-family: "Source Sans Pro", "Helvetica Neue", Arial, sans-serif;
	font-weight: 600;
	padding: 16px;
	width: 100%;
}

input:focus,
textarea:focus {
	border: 2px solid #999;
	outline: none;
}

input[type="checkbox"],
input[type="image"],
input[type="radio"] {
	width: auto;
}

::-ms-input-placeholder {
	color: #333;
	opacity: 1;
}

:-ms-input-placeholder {
	color: #333;
	opacity: 1;
}

::placeholder {
	color: #333;
	opacity: 1;
}

button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.button,
.genesis-nav-menu .highlight a,
.more-link,
.site-container div.wpforms-container-full .wpforms-form input[type="submit"],
.site-container div.wpforms-container-full .wpforms-form button[type="submit"] {
	background-color: #fff;
	border: 2px solid #000cff;
	box-shadow: 0 0 0 rgba(0, 0, 0, 0.24);
	color: #000cff;
	cursor: pointer;
	display: inline-block;
	font-family: "Source Sans Pro", "Helvetica Neue", Arial, sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
	padding: 16px 20px;
	text-align: center;
	text-decoration: none;
	transform: translate3d(0, 0, 0);
	white-space: normal;
	width: auto;
}

a.button:focus,
a.button:hover,
button:focus,
button:hover,
input:focus[type="button"],
input:hover[type="button"],
input:focus[type="reset"],
input:hover[type="reset"],
input:focus[type="submit"],
input:hover[type="submit"],
.genesis-nav-menu .highlight a:focus,
.genesis-nav-menu .highlight a:hover,
.more-link:focus,
.more-link:hover,
.site-container div.wpforms-container-full .wpforms-form input[type="submit"]:focus,
.site-container div.wpforms-container-full .wpforms-form input[type="submit"]:hover,
.site-container div.wpforms-container-full .wpforms-form button[type="submit"]:focus,
.site-container div.wpforms-container-full .wpforms-form button[type="submit"]:hover {
	background: #000be6;
	border-color: #000be6;
	box-shadow: 0 6px 24px rgba(0, 0, 0, 0.14);
	color: #f4f4f4;
	text-decoration: none;
	transform: translate3d(0, -3px, 0);
}

.site-container div.wpforms-container-full .wpforms-form input[type="submit"]:focus,
.site-container div.wpforms-container-full .wpforms-form input[type="submit"]:hover,
.site-container div.wpforms-container-full .wpforms-form button[type="submit"]:focus,
.site-container div.wpforms-container-full .wpforms-form button[type="submit"]:hover {
	border-width: 2px;
}

.gb-block-post-grid a.gb-block-post-grid-more-link {
	color: #000cff;
	display: inline;
}

.gb-block-post-grid a.gb-block-post-grid-more-link:hover {
	color: #333;
}

.gb-block-post-grid-more-link::after {
	content: "\2192";
}

.gb-block-post-grid a.gb-block-post-grid-more-link,
.gb-block-post-grid a.gb-block-post-grid-more-link:hover,
.more-link-wrap a:not(.more-link) {
	border-bottom: 1px solid currentColor;
	font-family: "Source Sans Pro", "Helvetica Neue", Arial, sans-serif;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-decoration: none;
	text-transform: uppercase;
}

.entry-content .button:focus,
.entry-content .button:hover {
	color: #f4f4f4;
}

.button {
	display: inline-block;
}

button.primary,
input[type="button"].primary,
input[type="reset"].primary,
input[type="submit"].primary,
.button.primary,
.more-link {
	background-color: #000cff;
	color: #f4f4f4;
}

button.secondary,
input[type="button"].secondary,
input[type="reset"].secondary,
input[type="submit"].secondary,
.button.secondary {
	background-color: #111;
	border-color: #111;
	color: #f4f4f4;
}

button.secondary:focus,
button.secondary:hover,
input[type="button"].secondary:focus,
input[type="button"].secondary:hover,
input[type="reset"].secondary:focus,
input[type="reset"].secondary:hover,
input[type="submit"].secondary:focus,
input[type="submit"].secondary:hover,
.button.secondary:focus,
.button.secondary:hover {
	background-color: #333;
	border-color: #333;
	color: #f4f4f4;
}

a.button.small,
button.small,
input[type="button"].small,
input[type="reset"].small,
input[type="submit"].small {
	font-size: 14px;
	padding: 9px 24px;
}

a.button.large,
button.large,
input[type="button"].large,
input[type="reset"].large,
input[type="submit"].large {
	font-size: 20px;
	padding: 24px;
}

.site-container button:disabled,
.site-container button:disabled:hover,
.site-container input:disabled,
.site-container input:disabled:hover,
.site-container input[type="button"]:disabled,
.site-container input[type="button"]:disabled:hover,
.site-container input[type="reset"]:disabled,
.site-container input[type="reset"]:disabled:hover,
.site-container input[type="submit"]:disabled,
.site-container input[type="submit"]:disabled:hover {
	background-color: #eee;
	box-shadow: none;
	border-width: 0;
	color: #666;
	cursor: not-allowed;
	transform: none;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button {
	display: none;
}

/* Tables
--------------------------------------------- */

table {
	border-collapse: collapse;
	border-spacing: 0;
	line-height: 2;
	margin-bottom: 35px;
	width: 100%;
	word-break: break-all;
}

tbody {
	border-bottom: 1px solid #eee;
}

td,
th {
	line-height: 2;
	text-align: left;
	vertical-align: top;
}

td {
	border-top: 1px solid #eee;
	padding: 10px 15px;
}

th {
	font-weight: 700;
	padding: 10px;
}

/* Screen Reader Text
--------------------------------------------- */

.screen-reader-shortcut,
.screen-reader-text,
.screen-reader-text span {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	overflow: hidden;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.genesis-nav-menu .search input[type="submit"]:focus,
.screen-reader-shortcut:focus,
.screen-reader-text:focus,
.widget_search input[type="submit"]:focus {
	background: #f4f4f4;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #333;
	display: block;
	font-size: 1em;
	font-weight: 700;
	height: auto;
	padding: 15px 23px 14px;
	text-decoration: none;
	width: auto;
	z-index: 100000; /* Above WP toolbar. */
}

.more-link {
	position: relative;
}


/* Structure and Layout
---------------------------------------------------------------------------- */

/* Site Containers
--------------------------------------------- */

.site-inner,
.wrap {
	margin: 0 auto;
	max-width: 1200px;
}

.site-inner {
	clear: both;
	padding-top: 70px;
	overflow-wrap: break-word;
	word-wrap: break-word;
}

.single.has-featured-image .site-inner {
	padding-top: 20px;
}

.landing-page .site-inner {
	max-width: 800px;
}

/* Column Widths and Positions
--------------------------------------------- */

/* Content */

.content {
	float: right;
	width: 880px;
}

.content-sidebar .content,
.sidebar-content .content {
	max-width: 680px;
}

.content-sidebar .content {
	float: left;
}

.authority-grid .content,
.full-width-content .content {
	width: 100%;
}

.full-width-content.single .content,
.full-width-content.page .content {
	float: none;
	margin: 45px auto 0px;
	max-width: 880px;
}

.full-width-content.page .content {
	margin-top: 0;
}

/* Primary Sidebar */

.sidebar-primary {
	float: right;
	width: 375px;
}

.sidebar-content .sidebar-primary {
	float: left;
}

/* Column Classes
--------------------------------------------- */

/* Link: http://twitter.github.io/bootstrap/assets/css/bootstrap-responsive.css */

.five-sixths,
.four-sixths,
.one-fourth,
.one-half,
.one-sixth,
.one-third,
.three-fourths,
.three-sixths,
.two-fourths,
.two-sixths,
.two-thirds {
	float: left;
	margin-left: 2.564102564102564%;
}

.one-half,
.three-sixths,
.two-fourths {
	width: 48.717948717948715%;
}

.one-third,
.two-sixths {
	width: 31.623931623931625%;
}

.four-sixths,
.two-thirds {
	width: 65.81196581196582%;
}

.one-fourth {
	width: 23.076923076923077%;
}

.three-fourths {
	width: 74.35897435897436%;
}

.one-sixth {
	width: 14.52991452991453%;
}

.five-sixths {
	width: 82.90598290598291%;
}

.first {
	clear: both;
	margin-left: 0;
}


/* Common Classes
---------------------------------------------------------------------------- */

/* Avatar
--------------------------------------------- */

.avatar {
	float: left;
	position: relative;
	z-index: 2;
}

.alignleft .avatar {
	margin-right: 24px;
}

.alignright .avatar {
	margin-left: 24px;
}

.comment .avatar {
	margin-right: 20px;
}

/* Genesis
--------------------------------------------- */

.breadcrumb {
	border-bottom: 1px solid #eee;
	font-size: 14px;
	margin-bottom: 35px;
	padding-bottom: 20px;
}

.author-box {
	background-color: #f4f4f4;
	font-size: 14px;
	line-height: 1.87;
	margin-bottom: 70px;
	padding: 35px 70px;
}

.after-entry {
	margin-bottom: 70px;
}

.archive-description p:last-child,
.author-box p:last-child {
	margin-bottom: 0;
}

.archive-description {
	border-bottom: 1px solid #eee;
	overflow: hidden;
	padding: 0 0 35px 0;
	margin-bottom: 70px;
}

.full-width-content .archive-description {
	margin-bottom: 40px;
}

.author-box .avatar {
	border: 7px solid #fff;
	border-radius: 0;
	box-shadow: 0 9px 45px rgba(0, 0, 0, 0.14);
	transform: translate3d(-35px, 0, 0);
	margin: 0 15px 35px -70px;
}

/* Search Form
--------------------------------------------- */

.search-form {
	overflow: hidden;
}

.entry-content .search-form,
.site-header .search-form {
	margin-bottom: 35px;
	width: 50%;
}

.post-password-form input[type="submit"],
.search-form input[type="submit"] {
	margin-top: 10px;
}

.genesis-nav-menu .search input[type="submit"],
.widget_search input[type="submit"] {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	margin: -1px;
	padding: 0;
	position: absolute;
	width: 1px;
}

/* Titles
--------------------------------------------- */

.archive-description .entry-title,
.author-box-title {
	color: #111;
	font-size: 26px;
	line-height: 1.23;
	margin-bottom: 20px;
}

.archive-title {
	font-size: 56px;
	margin: 0 0 30px 0;
}

.entry-title {
	font-size: 42px;
}

.single .entry-title {
	font-size: 52px;
	line-height: 1;
	letter-spacing: -0.03em;
}

.authority-subtitle {
	color: #000cff;
	display: block;
	font-family: "Source Sans Pro", "Helvetica Neue", Arial, sans-serif;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.07em;
	line-height: 1.5;
	margin-bottom: 24px;
	text-transform: uppercase;
}

.gb-block-post-grid .gb-block-post-grid-header .gb-block-post-grid-title a,
.entry-title a,
.sidebar .widget-title a {
	color: #111;
	text-decoration: none;
}

.gb-block-post-grid .gb-block-post-grid-header .gb-block-post-grid-title a:focus,
.gb-block-post-grid .gb-block-post-grid-header .gb-block-post-grid-title a:hover,
.entry-title a:focus,
.entry-title a:hover {
	color: #000cff;
	text-decoration: none;
}

.widget-title {
	clear: both;
	font-size: 18px;
	margin-bottom: 20px;
}

.sidebar .featured-content .entry-title {
	font-size: 20px;
}

.flexible-widgets .widget-title,
.flexible-widgets .entry-title {
	font-size: 42px;
	font-weight: 900;
	line-height: 1.1;
	letter-spacing: -0.02em;
}

.flexible-widgets .featuredpost .widget-title {
	padding: 0 0 10px;
}

.flexible-widgets .featuredpost .more-posts-title {
	display: block;
	margin-top: 20px;
}

.footer-widgets .featured-content .entry-title,
.flexible-widgets .featuredpost .entry-title,
.authority-grid.archive:not(.woocommerce-page) .entry-title {
	font-size: 26px;
	letter-spacing: -0.01em;
}

.enews-widget .widget-title {
	color: #111;
	font-size: 32px;
	font-weight: 900;
	line-height: 1.1;
	letter-spacing: -0.01em;
}

/* WordPress
--------------------------------------------- */

a.aligncenter img {
	display: block;
	margin: 0 auto;
}

a.alignnone {
	display: inline-block;
}

.alignleft {
	float: left;
	text-align: left;
}

.alignright {
	float: right;
	text-align: right;
}

a.alignleft,
a.alignnone,
a.alignright {
	max-width: 100%;
}

img.centered,
.aligncenter {
	display: block;
	margin: 0 auto 24px;
}

img.alignnone,
.alignnone {
	margin-bottom: 24px;
}

a.alignleft,
img.alignleft,
.wp-caption.alignleft {
	margin: 0 24px 24px 0;
}

a.alignright,
img.alignright,
.wp-caption.alignright {
	margin: 0 0 24px 24px;
}

figcaption,
.gallery-caption,
.wp-caption-text {
	color: #111;
	font-family: "Source Sans Pro", "Helvetica Neue", Arial, sans-serif;
	font-size: 12px;
	font-style: normal;
	letter-spacing: 0.1em;
	line-height: 1.5;
	margin-bottom: 30px;
	margin-top: 10px;
	text-align: center;
	text-transform: uppercase;
}

.entry-content p.wp-caption-text {
	margin-bottom: 0;
}

.entry-content .wp-audio-shortcode,
.entry-content .wp-playlist,
.entry-content .wp-video {
	margin: 0 0 24px;
}


/* Widgets
---------------------------------------------------------------------------- */

.sidebar .widget {
	padding: 50px;
}

.after-entry .widget {
	margin-bottom: 35px;
}

.widget {
	word-wrap: break-word;
}

.widget p:last-child,
.widget ul > li:last-of-type {
	margin-bottom: 0;
}

.widget ul > li {
	margin-bottom: 10px;
	padding-bottom: 10px;
}

.widget ul > li:last-of-type {
	padding-bottom: 0;
}

.widget ol > li {
	list-style-position: inside;
	list-style-type: decimal;
	padding-left: 20px;
	text-indent: -20px;
}

.widget li li {
	border: 0;
	margin: 0 0 0 30px;
	padding: 0;
}

.widget_calendar table {
	width: 100%;
}

.widget_calendar td,
.widget_calendar th {
	text-align: center;
}

.sidebar .widget:first-of-type {
	background-color: #fff;
	box-shadow: 0 15px 80px rgba(0, 0, 0, 0.14);
	margin-bottom: 20px;
}

.single .sidebar .widget:first-of-type {
	margin-top: -60px;
}

/* Flexible Widgets
--------------------------------------------- */
/*
.flexible-widgets > .wrap {
	padding-top: 35px;
}

.flexible-widgets .widget {
	padding: 35px;
	width: 48%;
}

.flexible-widgets .widget:nth-child(odd) {
	clear: both;
	float: left;
}

.flexible-widgets .widget:nth-child(even) {
	float: right;
}

.flexible-widgets.widget-odd .widget:last-of-type {
	clear: both;
	float: none;
	margin-left: auto;
	margin-right: auto;
	max-width: 75%;
	text-align: center;
	width: 100%;
}

.flexible-widgets .entry-content,
.flexible-widgets .textwidget {
	margin-left: 35px;
}

.flexible-widgets.widget-odd .widget:last-of-type .entry-content,
.flexible-widgets.widget-odd .widget:last-of-type .textwidget {
	margin-left: 0;
}

.flexible-widgets .featuredpost .entry-content {
	margin-left: 0;
}

.flexible-widgets.widget-odd .featuredpost:last-of-type {
	max-width: none;
	padding: 70px 0 0;
	text-align: left;
}
*/
/* Featured Content
--------------------------------------------- */

.featured-content .entry {
	background: none;
	margin-bottom: 35px;
	padding: 0;
}

.featured-content .entry:last-of-type {
	margin-bottom: 0;
}

.content .featuredpage .entry-image {
	box-shadow: 0 20px 80px rgba(0, 0, 0, 0.2);
	box-sizing: content-box;
	border: 10px solid #fff;
	vertical-align: middle;
}


/* Plugins
---------------------------------------------------------------------------- */

/* Genesis eNews Extended
--------------------------------------------- */

.enews-widget {
	background: #fff;
	box-shadow: 0 15px 80px rgba(0, 0, 0, 0.14);
	padding: 40px 60px;
	position: relative;
	text-align: center;
}

.flexible-widgets .enews-widget {
	padding: 60px 100px;
}

.footer-widgets .enews-widget:nth-child(1),
.footer-widgets .enews-widget:nth-child(2) {
	margin: -60px 0;
}

.footer-widgets .widget-odd .enews-widget:nth-child(1),
.footer-widgets .widget-odd .enews-widget:nth-child(2) {
	margin-bottom: 35px;
}

.footer-widgets .widget-odd .enews-widget:last-child {
	margin-bottom: -60px;
}

.enews-widget::after,
.sidebar .enews-widget:nth-child(2n+1)::after {
	background: #000cff;
	content: "";
	display: block;
	height: 5px;
	left: auto;
	position: absolute;
	right: 0;
	top: 70px;
	transform: translateX(50%);
	width: 40px;
}

.enews-widget:nth-child(odd)::after {
	right: auto;
	left: 0;
	transform: translateX(-50%);
}

.enews-widget p:first-of-type {
	font-family: "Source Sans Pro", "Helvetica Neue", Arial, sans-serif;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.2;
}

.enews-widget .enews form + p {
	color: #707070;
	font-family: "Libre Baskerville", Georgia, serif;
	font-size: 16px;
	font-style: italic;
	font-weight: 500;
	margin-top: 12px;
}

.enews-widget form {
	margin-left: auto;
	margin-right: auto;
	max-width: 400px;
}

.enews-widget input[type="submit"] {
	background-color: #000cff;
	color: #f4f4f4;
}

.enews-widget input[type="submit"]:focus,
.enews-widget input[type="submit"]:hover {
	background-color: #000be6;
}

.enews-widget input {
	font-size: 16px;
	margin-bottom: 16px;
	text-align: center;
}

.enews-widget input[type="submit"] {
	margin: 0;
	width: 100%;
}

/* Jetpack
--------------------------------------------- */

#wpstats {
	display: none;
}

/* WPForms
--------------------------------------------- */

.site-container .wpforms-container {
	margin-bottom: 40px;
}

.site-container .wpforms-form .wpforms-field {
	clear: both;
	margin: 20px 0;
	overflow: hidden;
}

.site-container .wpforms-form .wpforms-field-hp {
	display: none !important;
	left: -9000px !important;
	position: absolute !important;
}

.site-container .wpforms-container .wpforms-form .wpforms-field input {
	border-radius: 0;
	height: auto;
	padding: 16px;
}

.site-container .wpforms-container .wpforms-form .wpforms-field input,
.site-container .entry-content .wpforms-form textarea {
	border: 2px solid #ccc;
	font-size: 18px;
}

.site-container .wpforms-container .wpforms-form .wpforms-field input:focus,
.site-container .entry-content .wpforms-form textarea:focus {
	border: 2px solid #999;
	outline: none;
}

.site-container .entry-content .wpforms-form .wpforms-field-label {
	font-weight: 600;
}

.site-container .entry-content .wpforms-form .wpforms-field-sublabel {
	font-size: 14px;
	font-weight: 300;
}

.site-container .entry-content .wpforms-form textarea.wpforms-field-small {
	height: 120px;
}

.site-container .entry-content .wpforms-form textarea.wpforms-field-medium {
	height: 200px;
}

.site-container .entry-content .wpforms-form textarea.wpforms-field-large {
	height: 300px;
}


/* Skip Links
---------------------------------------------------------------------------- */

.genesis-skip-link {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	font-size: 14px;
	margin: 0;
}

.genesis-skip-link li {
	height: 0;
	width: 0;
	list-style: none;
}

/* Display outline on focus */
:focus {
	color: #111;
	outline: #ccc solid 1px;
}


/* Site Header
---------------------------------------------------------------------------- */

.site-header {
	background-color: #fff;
}

.site-header > .wrap {
	padding: 20px 0;
}

/* Title Area
--------------------------------------------- */

.title-area {
	float: left;
	padding: 10px 0;
}

.wp-custom-logo .title-area {
	margin: 0 auto;
	max-width: 300px;
	padding: 0;
	width: 300px;
}

.site-title {
	font-family: "Source Sans Pro", "Helvetica Neue", Arial, sans-serif;
	font-size: 28px;
	font-weight: 900;
	line-height: 1;
	letter-spacing: -0.03em;
}

.site-title a,
.site-title a:focus,
.site-title a:hover {
	color: #111;
	text-decoration: none;
}

.site-description,
.wp-custom-logo .site-title {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	overflow: hidden;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.site-description,
.site-title {
	margin-bottom: 0;
}

.site-header .custom-logo-link .custom-logo {
	max-height: 80px;
	width: auto;
}

/* Site Navigation
---------------------------------------------------------------------------- */

.genesis-nav-menu {
	clear: both;
	font-family: "Source Sans Pro", "Helvetica Neue", Arial, sans-serif;
	font-size: 16px;
	line-height: 1.75;
	letter-spacing: -0.01em;
	width: 100%;
}

.genesis-nav-menu .menu-item {
	display: inline-block;
	margin-bottom: 0;
	padding-bottom: 0;
	text-align: left;
}

.genesis-nav-menu a {
	color: #111;
	text-decoration: none;
	display: block;
	padding: 12px 20px;
}

.genesis-nav-menu .highlight {
	margin-left: 20px;
}

.genesis-nav-menu a:focus,
.genesis-nav-menu a:hover,
.genesis-nav-menu .current-menu-item > a,
.genesis-nav-menu .sub-menu .current-menu-item > a:focus,
.genesis-nav-menu .sub-menu .current-menu-item > a:hover {
	color: #000cff;
	text-decoration: none;
}

.genesis-nav-menu .sub-menu {
	box-shadow: 0 16px 45px rgba(0, 0, 0, 0.18);
	left: -9999px;
	opacity: 0;
	position: absolute;
	transition: opacity 0.4s ease-in-out;
	width: 200px;
	z-index: 99;
}

.genesis-nav-menu .sub-menu a {
	background-color: #fff;
	border-top: 1px solid #eee;
	font-size: 14px;
	padding: 16px 20px;
	position: relative;
	width: 200px;
	word-wrap: break-word;
}

.genesis-nav-menu .sub-menu .sub-menu {
	margin: -56px 0 0 199px;
}

.genesis-nav-menu .menu-item:hover {
	position: static;
}

.genesis-nav-menu .menu-item:hover > .sub-menu {
	left: auto;
	opacity: 1;
}

.genesis-nav-menu > .first > a {
	padding-left: 0;
}

.genesis-nav-menu > .last > a {
	padding-right: 0;
}

.genesis-nav-menu > .right {
	float: right;
}

/* Accessible Menu
--------------------------------------------- */

.menu .menu-item:focus {
	position: static;
}

.menu .menu-item > a:focus + ul.sub-menu,
.menu .menu-item.sfHover > ul.sub-menu {
	left: auto;
	opacity: 1;
}

.menu-toggle,
.sub-menu-toggle {
	display: none;
	visibility: hidden;
}

/* Site Header Navigation
--------------------------------------------- */

.site-header .nav-primary {
	float: right;
	max-width: 940px;
}

.site-header .genesis-nav-menu li li {
	margin-left: 0;
}

/* Footer Navigation
--------------------------------------------- */

.site-footer .genesis-nav-menu {
	padding-bottom: 20px;
}

.site-footer .genesis-nav-menu a {
	padding: 0 20px;
}

/* Social Navigation
--------------------------------------------- */

.nav-social {
	left: 35px;
	position: fixed;
	top: 0;
	transform: rotate(-90deg) translateX(-100%);
	transform-origin: 0 100%;
	z-index: 999;
}

.admin-bar .nav-social {
	top: 22px;
}

.top-banner-visible .nav-social {
	top: 70px;
}

.admin-bar.top-banner-visible .nav-social {
	top: 105px;
}

.nav-social a {
	color: #707070;
	font-size: 12px;
	letter-spacing: 0.03em;
	padding: 0 12px;
	position: relative;
	text-transform: uppercase;
}

.nav-social li:not(:first-child) a::before {
	background: #999;
	content: "";
	display: inline-block;
	height: 2px;
	left: -2px;
	position: absolute;
	top: 0.8em;
	width: 2px;
}

.nav-social li:first-child a::before {
	background: #ddd;
	content: "";
	display: inline-block;
	height: 1px;
	left: -100vh;
	position: absolute;
	top: 0.8em;
	width: 100vh;
}


/* Content Area
---------------------------------------------------------------------------- */

/* Featured Images
--------------------------------------------- */

.authority-featured-image {
	margin: 0 0 24px;
	padding: 0;
}

.gb-block-post-grid-image a {
	display: inline-block;
}

.gb-block-post-grid-image a,
.authority-featured-image,
.featuredpost .has-post-thumbnail > a {
	position: relative;
	z-index: 1;
}

.gb-block-post-grid-image a::before,
.authority-featured-image::before,
.featuredpost .has-post-thumbnail > a::before {
	background: #f4f4f4;
	content: "";
	left: -30px;
	height: calc(100% + 20px);
	position: absolute;
	top: 30px;
	width: calc(100% + 60px);
	z-index: -1;
}

.single .authority-featured-image::before {
	height: calc(100% + 45px);
}

.gb-block-post-grid-image a::before,
.authority-grid.archive:not(.woocommerce-page) .authority-featured-image::before,
.featuredpost .has-post-thumbnail > a::before {
	height: calc(100% + 10px);
}

.sidebar-content.single .authority-featured-image::before {
	left: auto;
	right: 0;
}

.featuredpost .alignnone {
	margin-bottom: 24px;
}

.authority-featured-image.authority-image-alignleft {
	float: left;
	margin: 0 24px 24px 0;
}

.authority-featured-image.authority-image-alignright {
	float: right;
	margin: 0 0 24px 24px;
}

.authority-featured-image.authority-image-alignleft img,
.authority-featured-image.authority-image-alignright img {
	margin: 0;
}

.gb-block-post-grid-image img,
.authority-featured-image img,
.featuredpost .has-post-thumbnail img {
	box-shadow: 0 16px 65px rgba(0, 0, 0, 0.18);
	vertical-align: middle;
}

.gb-block-post-grid-image img,
.authority-featured-image img,
.featuredpost .has-post-thumbnail img {
	transition: transform 0.5s cubic-bezier(0.44, 0.51, 0.24, 0.99), box-shadow 0.75s cubic-bezier(0.44, 0.51, 0.24, 0.99);
	transform: translate3d(0, 0, 0);
}

.gb-block-post-grid-image a:focus img,
.gb-block-post-grid-image a:hover img,
.authority-featured-image a:focus img,
.authority-featured-image a:hover img,
.featuredpost .has-post-thumbnail > a:focus img,
.featuredpost .has-post-thumbnail > a:hover img {
	box-shadow: 0 6px 15px rgba(0, 0, 0, 0.3);
	transform: translate3d(0, 10px, 0);
}

.has-featured-image .content {
	margin-top: 24px;
}

.gb-block-post-grid-text,
.has-featured-image .content,
.has-featured-image .sidebar,
.has-post-thumbnail .entry-content,
.has-post-thumbnail .entry-header {
	position: relative;
	z-index: 2;
}

/* Entries
--------------------------------------------- */
/*
.entry {
	margin-bottom: 70px;
}
*/
.entry-header {
	margin-bottom: 35px;
}

.entry-content .intro {
	color: #111;
	font-size: 20px;
	font-style: italic;
	line-height: 1.7;
}

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

.entry-content ol > li {
	list-style-type: decimal;
}

.entry-content ul > li {
	list-style-type: disc;
}

.entry-content ol ul > li,
.entry-content ul ul > li {
	list-style-type: circle;
}

.entry-content ol ol,
.entry-content ul ul {
	margin-bottom: 0;
}

.entry-content code {
	background-color: #111;
	color: #eee;
}

p.center {
	text-align: center;
}

/* Entry Messages
--------------------------------------------- */

.message {
	background-color: #111;
	padding: 25px 30px;
}

.message,
.message a {
	color: #fff;
}

.message.green {
	background-color: #00a86d;
}

.message.orange {
	background-color: #cc4b00;
}

.message.red {
	background-color: #be0040;
}

/* Grid Entries
--------------------------------------------- */

.flexible-widgets.widget-odd .featuredpost:last-of-type .entry,
.authority-grid.archive:not(.woocommerce-page) .content .entry {
	float: left;
	padding: 0 35px;
	width: 33.3%;
}

.flexible-widgets.widget-odd .featuredpost:last-of-type .entry {
	padding-bottom: 35px;
}

.flexible-widgets.widget-odd .featuredpost:last-of-type .entry:nth-of-type(3n+1),
.authority-grid.archive:not(.woocommerce-page) .content .entry:nth-of-type(3n+1) {
	clear: left;
}

.gb-block-post-grid-header,
.featuredpost .entry-header,
.authority-grid.archive:not(.woocommerce-page) .entry-header {
	margin-bottom: 24px;
}

.featuredpost .entry-content p,
.authority-grid.archive:not(.woocommerce-page) .entry-content p {
	margin-bottom: 12px;
}

.flexible-widgets.widget-odd .featuredpost:last-of-type .widget-title,
.flexible-widgets.widget-odd .featuredpost:last-of-type .more-posts {
	padding-left: 35px;
	padding-right: 35px;
}

/* Entry Meta
--------------------------------------------- */

.entry-meta {
	color: #707070;
	font-size: 12px;
	font-style: italic;
	line-height: 1.3;
	margin-bottom: 10px;
}

.gb-block-post-grid .gb-block-post-grid-header .gb-block-post-grid-byline,
.entry-meta > * {
	color: #555;
	font-family: "Source Sans Pro", "Helvetica Neue", Arial, sans-serif;
	font-size: 12px;
	font-style: normal;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.5;
	text-transform: uppercase;
	margin: 0 5px 0 0;
}

.entry-meta > .entry-author {
	margin-left: 5px;
}

.entry-categories,
.entry-tags {
	display: block;
	margin-left: 0;
}

.entry-comments-link::before {
	content: "\2014";
	margin: 0 6px 0 2px;
}

.entry-footer {
	position: relative;
	z-index: 2;
}

/* Pagination
--------------------------------------------- */

.pagination {
	clear: both;
	margin: 35px 0 70px;
}

.adjacent-entry-pagination {
	margin-bottom: 0;
}

.archive-pagination li {
	display: inline;
}

.archive-pagination a {
	color: #111;
	cursor: pointer;
	display: inline-block;
	font-family: "Source Sans Pro", "Helvetica Neue", Arial, sans-serif;
	font-size: 16px;
	font-weight: 600;
	padding: 8px 20px;
	text-decoration: none;
}

.archive-pagination .pagination-next > a,
.archive-pagination .pagination-previous > a {
	border: 2px solid #000cff;
	color: #000cff;
	padding: 6px 20px;
}

.archive-pagination a:focus,
.archive-pagination a:hover,
.archive-pagination .active a {
	background-color: #000cff;
	color: #fff;
}

/* Comments
--------------------------------------------- */

.entry-comments > h3,
.entry-pings > h3,
.comment-respond > h3 {
	color: #111;
	font-size: 42px;
	font-weight: 900;
	line-height: 1.1;
	letter-spacing: -1px;
}

.comment-respond,
.entry-comments,
.entry-pings {
	background-color: #fff;
	font-size: 14px;
	line-height: 1.85;
	margin-bottom: 70px;
}

.comment-list li {
	border-left: 2px solid #eee;
	margin: 35px 0 0 15px;
	padding: 0 0 0 35px;
}

.comment-list .depth-1 {
	border-left: none;
	margin-left: 0;
	padding: 0;
}

.comment-header {
	font-size: 12px;
	line-height: 1.5;
	margin-bottom: 20px;
	overflow: hidden;
}

.comment-header a {
	color: #555;
	font-family: "Source Sans Pro", "Helvetica Neue", Arial, sans-serif;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-decoration: none;
	text-transform: uppercase;
}

.comment-header p {
	margin-bottom: 0;
}

.says {
	color: #707070;
	font-style: italic;
	margin-left: 5px;
}

.comment-content {
	clear: both;
}

.comment-content p {
	margin-bottom: 15px;
}

.comment-content ul > li {
	list-style-type: disc;
}

.comment-respond input[type="email"],
.comment-respond input[type="text"],
.comment-respond input[type="url"] {
	width: 50%;
}

.comment-respond label {
	display: block;
	margin-right: 12px;
}

.comment-form-cookies-consent label {
	display: inline;
	padding-left: 10px;
}

.comment-reply {
	color: #000cff;
	font-family: "Source Sans Pro", "Helvetica Neue", Arial, sans-serif;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.entry-pings .reply {
	display: none;
}


/* Sidebar
---------------------------------------------------------------------------- */

.sidebar {
	font-size: 15px;
	margin-bottom: 35px;
}


/* Top Banner
---------------------------------------------------------------------------- */

.authority-top-banner {
	background: #000cff;
	display: none;
	padding: 24px 80px 24px 24px;
	position: relative;
	text-align: center;
}

.authority-top-banner,
.authority-top-banner a {
	font-family: "Source Sans Pro", "Helvetica Neue", Arial, sans-serif;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.55;
}

.authority-top-banner,
.authority-top-banner a,
.authority-top-banner a:focus,
.authority-top-banner a:hover {
	color: #fff;
}

#authority-top-banner-close,
#authority-top-banner-close:focus,
#authority-top-banner-close:hover {
	background: transparent;
	border: 0;
	box-shadow: none;
	color: #fff;
	height: 100%;
	opacity: 0;
	position: absolute;
	right: 0;
	top: 0;
	transform: none;
}

#authority-top-banner-close {
	padding-left: 35px;
	padding-right: 35px;
}


/* Footer Widgets
---------------------------------------------------------------------------- */

.footer-widgets {
	background-color: #f4f4f4;
	clear: both;
}

.footer-widgets .widget_media_image::after {
	display: none;
}


/* Site Footer
---------------------------------------------------------------------------- */

.site-footer {
	background-color: #fff;
	font-family: "Source Sans Pro", "Helvetica Neue", Arial, sans-serif;
	font-size: 12px;
	line-height: 1.5;
	letter-spacing: 0.08em;
	margin-top: 70px;
	padding: 35px 0;
	text-transform: uppercase;
}

.site-footer p {
	margin-bottom: 0;
	margin-top: 7px;
}

.site-footer .nav-secondary {
	float: right;
}

.site-footer .genesis-nav-menu a {
	font-size: 12px;
	letter-spacing: 0.08em;
}

/* ==========================================================================
   UNIFIED MASTER PREMIUM B2B STYLES (Custom Overrides)
   This section deduplicates all custom code for Visite Guidée, 
   Solutions Corporatives, À Propos, Accueil B2B, Tarifs, and Contact.
   ========================================================================== */

/* --- GLOBAL VARIABLES --- */
:root {
    --de-navy: #00275c;
    --de-navy-light: #143b70;
    --de-blue-accent: #007bff;
    --de-white: #ffffff;
    --de-bg-light: #f8fafc;
    --de-text: #334155;
    --de-gray: #64748b;
    --de-red: #cf2e2e;
    --de-green: #059669;       /* Standard Green */
    --de-green-alt: #28a745;   /* Accent Green used in some sections */
    --de-green-light: #ebfbf3;
    --de-border: #e2e8f0;
}

/* --- SCROLL TRAP & BREAKOUT FIXES --- */
html, body {
    height: auto !important; 
    min-height: 100vh !important;
    scroll-behavior: smooth !important;
}
body {
    overflow-x: clip !important; /* Prevents horizontal scroll without breaking sticky vertical scroll */
}

.de-premium-home {
    font-family: 'Inter', sans-serif; 
    color: var(--de-text); 
    background: var(--de-white); 
    width: 100vw !important; 
    position: relative;
    left: 50% !important;
    transform: translateX(-50%) !important; /* Perfect full-width centering */
    display: block;
    clear: both;
}

/* Genesis Theme Resets for Premium Pages */
.entry:has(.de-premium-home) .entry-header, 
article:has(.de-premium-home) header { display: none !important; }
.de-premium-home ul { list-style: none !important; margin-left: 0 !important; padding-left: 0 !important; }
.de-premium-home ul li { list-style-type: none !important; margin-left: 0 !important; }
.de-premium-home ul li::before { display: none !important; content: none !important; }
.de-container { max-width: 1240px; margin: 0 auto; padding: 0 20px; width: 100%; position: relative; z-index: 2; }
.de-container-pricing { max-width: 1440px; margin: 0 auto; padding: 0 20px; width: 100%; position: relative; z-index: 2; }
.de-bg-light { background-color: var(--de-bg-light); }

/* --- UNIFIED SITE HEADER (TRANSPARENT TO WHITE) --- */
.site-header { position: fixed !important; top: 0; left: 0; width: 100%; z-index: 9999; background-color: transparent !important; border-bottom: none !important; transition: background-color 0.4s ease, box-shadow 0.4s ease; will-change: transform, background-color, box-shadow; }
.site-header.is-scrolled { background-color: rgba(255, 255, 255, 0.96) !important; backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); box-shadow: 0 4px 30px rgba(0, 39, 92, 0.06) !important; }
@media (min-width: 1024px) { 
    .site-header .wrap { display: flex !important; justify-content: space-between; align-items: center; max-width: 1650px; margin: 0 auto; padding: 20px 20px !important; transition: padding 0.4s ease; } 
    .site-header.is-scrolled .wrap { padding: 12px 20px !important; } 
}
.site-title { margin: 0 !important; line-height: 1; }
.title-area { padding: 0 !important; margin: 0 !important; width: auto !important; }
.site-description { display: none !important; }
.site-title a, .genesis-nav-menu > li > a { color: #ffffff !important; font-family: 'Inter', sans-serif; text-decoration: none !important; transition: color 0.3s ease; }
.site-title a { font-weight: 900; font-size: 26px; letter-spacing: -0.5px; }
.genesis-nav-menu > li > a { font-weight: 600; font-size: 15px; padding: 10px 0 !important; position: relative; display: inline-block; }
.genesis-nav-menu > li > a::after { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 2px; background-color: #ffffff !important; transform: scaleX(0); transform-origin: right; transition: transform 0.4s cubic-bezier(0.86, 0, 0.07, 1); }
.genesis-nav-menu > li > a:hover::after, .genesis-nav-menu > li.current-menu-item > a::after { transform: scaleX(1); transform-origin: left; }
.site-header.is-scrolled .site-title a { color: var(--de-navy) !important; }
.site-header.is-scrolled .genesis-nav-menu > li > a { color: var(--de-text) !important; }
.site-header.is-scrolled .genesis-nav-menu > li > a:hover { color: var(--de-navy) !important; }
.site-header.is-scrolled .genesis-nav-menu > li > a::after { background-color: var(--de-navy) !important; }
.nav-primary { width: auto !important; float: none !important; margin: 0 !important; padding: 0 !important; }
.genesis-nav-menu { display: flex; gap: 35px; align-items: center; margin: 0; padding: 0; }
.site-header .custom-logo { filter: brightness(0) invert(1); transition: filter 0.4s ease; }
.site-header.is-scrolled .custom-logo { filter: none; }

/* --- UNIFIED BUTTONS --- */
.de-btn { position: relative; overflow: hidden; display: inline-flex !important; align-items: center; justify-content: center; padding: 16px 32px; font-size: 14px; font-weight: 700; border-radius: 6px; text-decoration: none !important; transition: all 0.3s ease; cursor: pointer; line-height: 1; text-transform: uppercase; letter-spacing: 0.5px; float: none !important; border: none; }
.de-btn-large { padding: 20px 45px !important; font-size: 16px !important; }
.de-btn i { margin-left: 10px; transition: transform 0.3s ease; }
.de-btn:hover i { transform: translateX(5px); }
.de-btn-shine::after { content: ''; position: absolute; top: 0; left: -100%; width: 50%; height: 100%; background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.25) 50%, rgba(255,255,255,0) 100%); transform: skewX(-25deg); transition: none; z-index: 1; }
.de-btn-shine:hover::after { animation: btn-shine 0.8s ease forwards; }
@keyframes btn-shine { 100% { left: 200%; } }

.de-btn-primary { background-color: var(--de-navy) !important; color: var(--de-white) !important; border: 2px solid var(--de-navy) !important; box-shadow: 0 4px 6px -1px rgba(0, 39, 92, 0.1); }
.de-btn-primary:hover { background-color: var(--de-navy-light) !important; border-color: var(--de-navy-light) !important; transform: translateY(-3px); box-shadow: 0 10px 20px -3px rgba(0, 39, 92, 0.25); }
.de-btn-outline { background-color: transparent !important; color: var(--de-border) !important; border: 2px solid rgba(255,255,255,0.8) !important; }
.de-btn-outline:hover { background-color: var(--de-white) !important; color: var(--de-navy) !important; border-color: var(--de-white) !important; transform: translateY(-2px); }
.de-btn-white { background-color: transparent !important; color: var(--de-white) !important; border: 2px solid var(--de-white) !important; }
.de-btn-white:hover { background-color: var(--de-white) !important; color: var(--de-navy) !important; border-color: var(--de-white) !important; }

/* Pricing Tier Specific Buttons */
.de-btn-t1 { background-color: transparent !important; color: #0ea5e9 !important; border: 2px solid #0ea5e9 !important; }
.de-btn-t1:hover { background-color: rgba(14, 165, 233, 0.05) !important; transform: translateY(-3px); box-shadow: 0 10px 20px -3px rgba(14, 165, 233, 0.15); }
.de-btn-t2 { background-color: var(--de-blue-accent) !important; color: var(--de-white) !important; border: 2px solid var(--de-blue-accent) !important; box-shadow: 0 4px 6px -1px rgba(0, 123, 255, 0.15); }
.de-btn-t2:hover { background-color: #0069d9 !important; border-color: #0069d9 !important; transform: translateY(-3px); box-shadow: 0 10px 20px -3px rgba(0, 123, 255, 0.25); }
.de-btn-t3 { background-color: var(--de-navy) !important; color: var(--de-white) !important; border: 2px solid var(--de-navy) !important; box-shadow: 0 4px 6px -1px rgba(0, 39, 92, 0.1); }
.de-btn-t3:hover { background-color: var(--de-navy-light) !important; border-color: var(--de-navy-light) !important; transform: translateY(-3px); box-shadow: 0 10px 20px -3px rgba(0, 39, 92, 0.25); }
.de-btn-t4 { background-color: #112337 !important; color: var(--de-white) !important; border: 2px solid #112337 !important; }
.de-btn-t4:hover { background-color: #000000 !important; border-color: #000000 !important; transform: translateY(-3px); box-shadow: 0 10px 20px -3px rgba(0, 0, 0, 0.3); }

.de-cta-button-wrapper { display: flex !important; justify-content: center !important; width: 100% !important; margin-top: 20px; flex-wrap: wrap; gap: 15px; }

/* --- UNIFIED HERO SECTION --- */
body.home .de-premium-home .de-hero, .de-premium-home .de-hero { margin-top: 0 !important; }
@keyframes bounce { 0%, 20%, 50%, 80%, 100% { transform: translateY(0); } 40% { transform: translateY(-15px); } 60% { transform: translateY(-7px); } }
.de-hero { position: relative; width: 100%; height: calc(100vh - 66px) !important; min-height: 600px; display: flex; flex-direction: column; justify-content: center; padding-top: 80px; background-size: cover; background-position: center; background-attachment: scroll; }
.de-hero-overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(135deg, rgba(0, 39, 92, 0.95) 0%, rgba(0, 39, 92, 0.6) 100%); z-index: 1; }
.de-hero-container { position: relative; z-index: 2; }
.de-hero-content { max-width: 850px; color: var(--de-white); }
.de-badge { display: inline-flex; width: max-content; align-items: center; background-color: var(--de-white); color: var(--de-navy); padding: 8px 20px; border-radius: 50px; font-size: 13px; font-weight: 800; letter-spacing: 1.5px; margin-bottom: 25px; box-shadow: 0 5px 15px rgba(0,0,0,0.1); }
@keyframes subtle-pulse { 0% { box-shadow: 0 5px 15px rgba(0,0,0,0.1); transform: scale(1); } 50% { box-shadow: 0 8px 25px rgba(0, 39, 92, 0.15); transform: scale(1.03); } 100% { box-shadow: 0 5px 15px rgba(0,0,0,0.1); transform: scale(1); } }
.de-badge.de-pulse-anim { animation: subtle-pulse 4s infinite ease-in-out; }
.de-hero-content h1 { font-weight: 900; line-height: 1.1; margin-bottom: 25px; color: var(--de-white) !important; letter-spacing: -1px; font-size: clamp(38px, 5vw, 72px); }
.de-hero-content p { font-size: clamp(18px, 2vw, 22px); line-height: 1.6; margin-bottom: 40px; opacity: 0.95; }
.de-hero-actions { display: flex; gap: 15px; flex-wrap: wrap; justify-content: flex-start; }

/* --- UNIFIED GLASSMORPHISM & SHAPES --- */
.de-glass-section { position: relative; overflow: hidden; }
.de-abstract-shape { position: absolute; border-radius: 50%; filter: blur(40px); opacity: 0.15; z-index: 0; pointer-events: none; will-change: transform; transform: translateZ(0); animation: shape-drift 20s infinite alternate cubic-bezier(0.4, 0, 0.2, 1); }
@keyframes shape-drift { 0% { transform: translate(0, 0) scale(1); } 50% { transform: translate(-40px, 60px) scale(1.1); } 100% { transform: translate(30px, -40px) scale(0.9); } }
.de-shape-1 { width: 600px; height: 600px; background: var(--de-blue-accent); top: -200px; right: -100px; }
.de-shape-2 { width: 500px; height: 500px; background: var(--de-navy); bottom: -100px; left: -200px; animation-duration: 25s; animation-direction: alternate-reverse; }
.de-shape-3 { width: 400px; height: 400px; background: #00d2ff; top: 30%; right: 10%; opacity: 0.1; animation-duration: 18s; }
.de-shape-4 { width: 700px; height: 700px; background: var(--de-green-alt); top: -300px; left: -100px; opacity: 0.08; animation-duration: 30s; }
.de-shape-pricing-1 { width: 700px; height: 700px; background: var(--de-blue-accent); top: 10%; right: -200px; opacity: 0.08; } 
.de-shape-pricing-2 { width: 600px; height: 600px; background: var(--de-navy); bottom: 10%; left: -200px; animation-duration: 25s; animation-direction: alternate-reverse; opacity: 0.08; } 
.de-shape-pricing-3 { width: 800px; height: 800px; background: #10b981; top: -300px; right: 20%; opacity: 0.05; animation-duration: 30s; } 
.de-shape-corp-1 { width: 600px; height: 600px; background: #6366f1; top: -100px; right: -150px; } 
.de-shape-corp-2 { width: 500px; height: 500px; background: #0ea5e9; bottom: -50px; left: -200px; animation-duration: 25s; animation-direction: alternate-reverse; } 
.de-shape-corp-3 { width: 700px; height: 700px; background: #10b981; top: 20%; right: -250px; opacity: 0.08; animation-duration: 30s; } 
.de-shape-corp-4 { width: 450px; height: 450px; background: var(--de-navy); bottom: 10%; left: 10%; opacity: 0.1; animation-duration: 18s; } 

/* --- UNIFIED TRUST BARS --- */
.de-trust-bar { padding: 22px 0; position: relative; z-index: 10; font-family: 'Inter', sans-serif; }
.de-trust-grid { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 15px; }
.de-trust-bar-main { background-color: var(--de-navy); color: var(--de-white); border-bottom: 4px solid #001a3d; }
.de-trust-bar-main .de-trust-item { font-size: 14px; font-weight: 600; display: flex; align-items: center; gap: 8px; }
.de-trust-bar-main i { color: #4ade80; font-size: 18px; }
.de-trust-bar-subtle { background-color: var(--de-white); border-top: 1px solid var(--de-border); border-bottom: 1px solid var(--de-border); padding: 40px 0; text-align: center; }
.de-subtle-title { font-size: 13px; text-transform: uppercase; letter-spacing: 2px; color: var(--de-gray); margin-bottom: 25px; font-weight: 600; text-align: center; display: block; }
.de-trust-grid.de-grid-7 { justify-content: center; gap: 40px; }
.de-trust-grid.de-grid-4-pillars { justify-content: center; gap: 80px; margin-top: 10px; }
.de-trust-item-icon { display: flex; flex-direction: column; align-items: center; gap: 8px; color: var(--de-gray); transition: all 0.3s ease; cursor: default; opacity: 0.7; }
.de-trust-item-icon i { font-size: 26px; color: var(--de-navy); transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); } 
.de-trust-item-icon span { font-size: 13px; font-weight: 600; }
.de-trust-item-icon:hover { opacity: 1; color: var(--de-navy); transform: translateY(-3px); }
.de-trust-item-icon:hover i { transform: scale(1.25) translateY(-2px); color: var(--de-blue-accent); }
.de-trust-bar-industry { background-color: var(--de-bg-light); border-top: 1px solid var(--de-border); border-bottom: 1px solid var(--de-border); padding: 60px 0; text-align: center; }
.de-trust-bar-stats { background-color: rgba(255,255,255,0.7); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-top: 1px solid var(--de-border); border-bottom: 1px solid var(--de-border); padding: 50px 0; }
.de-trust-stat { color: var(--de-navy); font-size: 32px; font-weight: 900; display: block; text-align: center; letter-spacing: -1px; transition: transform 0.3s ease; }
.de-trust-stat:hover { transform: scale(1.05); }
.de-trust-stat span { display: block; font-size: 13px; font-weight: 600; color: var(--de-gray); margin-top: 5px; text-transform: uppercase; letter-spacing: 1px; }
.de-trust-bar-guarantee { background-color: var(--de-white); border-bottom: 1px solid var(--de-border); padding: 30px 0; border-top: 1px solid var(--de-border);}
.de-trust-bar-guarantee .de-trust-item { font-size: 14px; font-weight: 600; color: var(--de-text); }
.de-trust-bar-guarantee i { color: var(--de-blue-accent); font-size: 18px; margin-right: 8px; }
.de-tier-trust { display: flex; justify-content: center; flex-wrap: wrap; gap: 20px; margin-top: 60px; padding-top: 40px; border-top: 1px solid var(--de-border); width: 100%; }
.de-tier-trust-item { font-size: 14px; font-weight: 600; color: var(--de-gray); display: flex; align-items: center; gap: 10px; background: var(--de-white); padding: 10px 24px; border-radius: 50px; box-shadow: 0 4px 15px rgba(0,0,0,0.03); border: 1px solid var(--de-border); transition: all 0.3s ease; }
.de-tier-trust-item:hover { transform: translateY(-3px); box-shadow: 0 8px 25px rgba(0,123,255,0.1); border-color: var(--de-blue-accent); color: var(--de-navy); }
.de-tier-trust-item i { color: var(--de-blue-accent); font-size: 16px; }

/* --- UNIFIED LAYOUTS & CONTAINERS --- */
.de-section { padding: 140px 0 !important; min-height: 85vh; display: flex; flex-direction: column; justify-content: center; position: relative; }
.de-section-header { text-align: center; margin-bottom: 60px; max-width: 800px; margin-left: auto; margin-right: auto; position: relative; z-index: 2; }
.de-section-header .de-badge { display: flex; width: max-content; margin: 0 auto 25px auto;}
.de-subtitle { display: block; font-weight: 800; font-size: 13px; letter-spacing: 2px; margin-bottom: 15px; text-transform: uppercase; color: var(--de-blue-accent); }
.de-subtitle-gradient { background: linear-gradient(90deg, var(--de-blue-accent), var(--de-navy)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; display: inline-block; }
.de-section h2 { font-size: clamp(32px, 4vw, 42px); color: var(--de-navy); line-height: 1.2; margin-bottom: 20px; font-weight: 900; letter-spacing: -0.5px; }
.de-header-desc { font-size: 18px; line-height: 1.6; color: var(--de-gray); margin: 0 auto; }

.de-split-layout { display: flex; align-items: center; justify-content: center; gap: 80px; } 
.de-split-layout.de-align-center { align-items: center; } 
.de-reverse { flex-direction: row-reverse; }
.de-split-text { flex: 1 1 500px; max-width: 500px; display: flex; flex-direction: column; justify-content: center; position: relative; z-index: 2;}
.de-split-image { flex: 1 1 550px; max-width: 550px; position: relative; z-index: 1; display: flex; flex-direction: column;} 
.de-split-text p { font-size: 18px; line-height: 1.6; color: var(--de-gray); margin-bottom: 25px; }
.de-highlight-text { font-size: 20px !important; color: var(--de-navy) !important; border-left: 4px solid var(--de-blue-accent); padding-left: 20px; font-weight: 600; }

.de-img-wrapper { position: relative; border-radius: 12px; overflow: hidden; box-shadow: 0 25px 50px -12px rgba(0,39,92,0.15); width: 100%; min-height: 100%; border: 1px solid rgba(0,0,0,0.05); transition: transform 0.5s ease, box-shadow 0.5s ease; background: var(--de-white); }
.de-img-fixed-height { min-height: auto; aspect-ratio: 4/3; } 
.de-img-tall { height: 100%; flex-grow: 1; min-height: 550px; }
.de-img-tall img { position: absolute; top: 0; left: 0; }
.de-img-wrapper img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.8s ease; }
.de-img-wrapper:hover { box-shadow: 0 35px 60px -15px rgba(0,39,92,0.25); transform: translateY(-5px); }
.de-img-wrapper:hover img { transform: scale(1.04); }

@keyframes float-img { 0% { transform: translateY(0px); } 50% { transform: translateY(-12px); } 100% { transform: translateY(0px); } }
.de-img-float { animation: float-img 7s ease-in-out infinite; }
.de-img-accent::after, .de-img-wrapper.de-img-accent::after { content: ''; position: absolute; top: 15px; left: 15px; right: -15px; bottom: -15px; border: 2px solid var(--de-navy); opacity: 0.08; z-index: -1; border-radius: 12px; transition: all 0.6s cubic-bezier(0.2, 0.8, 0.2, 1); pointer-events: none;}
.de-split-layout:hover .de-img-accent::after, .de-split-layout:hover .de-img-wrapper.de-img-accent::after { top: 8px; left: 8px; right: -8px; bottom: -8px; opacity: 0.15; border-color: var(--de-blue-accent); }

.de-link-action { font-size: 17px; font-weight: 700; color: var(--de-navy) !important; text-decoration: none; display: inline-flex; align-items: center; border-bottom: 2px solid transparent; padding-bottom: 2px; transition: all 0.3s ease; }
.de-link-action i { margin-left: 8px; transition: transform 0.3s ease; }
.de-link-action:hover { color: var(--de-blue-accent) !important; border-bottom-color: var(--de-blue-accent); }
.de-link-action:hover i { transform: translateX(5px); }

/* --- UNIFIED GRIDS (2, 3, AND 4 COLUMNS) --- */
.de-grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px; position: relative; z-index: 2; }
.de-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; position: relative; z-index: 2; }
.de-grid-4 { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 30px; }

.de-card { background: var(--de-white); padding: 40px 30px; border-radius: 16px; box-shadow: 0 10px 30px rgba(0, 39, 92, 0.04); border: 1px solid var(--de-border); border-top: 5px solid var(--de-navy); transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.4s ease, border-color 0.4s ease; display: flex; flex-direction: column; align-items: center; text-align: center; }
.de-card-centered { align-items: center; text-align: center; }
.de-card:hover { transform: translateY(-8px); box-shadow: 0 20px 40px rgba(0, 39, 92, 0.1); border-top-color: var(--de-blue-accent); }
.de-card-icon { width: 60px; height: 60px; background: linear-gradient(135deg, var(--de-navy), var(--de-navy-light)); border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 24px; color: var(--de-white); margin-bottom: 20px; transition: transform 0.4s ease, box-shadow 0.4s ease, background 0.4s ease; }
.de-grid-4 .de-card-icon { width: 50px; height: 50px; font-size: 20px; }
.de-card:hover .de-card-icon { transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0, 123, 255, 0.2); background: linear-gradient(135deg, var(--de-blue-accent), #00d2ff); }
.de-card h3 { font-size: 20px; color: var(--de-navy); margin-bottom: 12px; font-weight: 800; letter-spacing: -0.5px; }
.de-grid-2 .de-card h3 { font-size: 24px; }
.de-card p { font-size: 15px; line-height: 1.6; color: var(--de-gray); margin: 0; }

/* --- UNIFIED LISTS --- */
.de-premium-card-list { display: flex; flex-direction: column; gap: 15px; width: 100%; position: relative; z-index: 2; }
.de-premium-card-list li { display: flex; align-items: center; gap: 20px; background: rgba(255, 255, 255, 0.7); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); padding: 22px 25px; border-radius: 12px; box-shadow: 0 4px 15px rgba(0,0,0,0.02); border: 1px solid rgba(255,255,255,0.8); border-left: 4px solid var(--de-blue-accent); transition: all 0.4s cubic-bezier(0.2, 0.8, 0.2, 1); cursor: default; }
.de-premium-card-list li:hover { transform: translateX(10px); background: rgba(255, 255, 255, 0.95); box-shadow: 0 15px 30px rgba(0,39,92,0.08); border-color: var(--de-blue-accent); }
.de-card-list-icon { font-size: 26px; color: var(--de-blue-accent); background: rgba(0,123,255,0.1); width: 56px; height: 56px; border-radius: 10px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin: 0; padding: 0; line-height: 1; transition: all 0.4s cubic-bezier(0.2, 0.8, 0.2, 1); }
.de-premium-card-list li:hover .de-card-list-icon { background: var(--de-blue-accent); color: var(--de-white); transform: translateY(-2px) scale(1.05); box-shadow: 0 8px 16px rgba(0,123,255,0.25); }
.de-premium-card-list div { font-size: 15px; color: var(--de-gray); line-height: 1.5; }
.de-premium-card-list strong { color: var(--de-navy); font-weight: 800; font-size: 16px; display: block; margin-bottom: 4px; }
.de-list-navy-accent li { border-left-color: var(--de-navy); }
.de-list-navy-accent li:hover { border-color: var(--de-navy); }
.de-list-navy-accent .de-card-list-icon { color: var(--de-navy); background: rgba(0,39,92,0.08); }
.de-list-navy-accent li:hover .de-card-list-icon { background: var(--de-navy); box-shadow: 0 8px 16px rgba(0,39,92,0.25); }
.de-list-green-accent li { border-left-color: var(--de-green); }
.de-list-green-accent li:hover { border-color: var(--de-green); }
.de-list-green-accent .de-card-list-icon { color: var(--de-green); background: rgba(40,167,69,0.1); }
.de-list-green-accent li:hover .de-card-list-icon { background: var(--de-green); box-shadow: 0 8px 16px rgba(40,167,69,0.25); }

.de-enhanced-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 30px; position: relative; z-index: 2; }
.de-enhanced-grid li { background: rgba(255, 255, 255, 0.7); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-radius: 12px; padding: 20px; box-shadow: 0 4px 15px rgba(0,0,0,0.03); border: 1px solid rgba(255,255,255,0.8); display: flex; align-items: center; transition: all 0.3s ease; }
.de-enhanced-grid li:hover { border-color: var(--de-blue-accent); background: #ffffff; transform: translateY(-3px); box-shadow: 0 12px 25px rgba(0,123,255,0.1); }
.de-enhanced-grid .de-list-icon { width: 56px; height: 56px; font-size: 26px; background: rgba(0, 123, 255, 0.1); color: var(--de-blue-accent); border-radius: 10px; display: flex; align-items: center; justify-content: center; margin: 0 15px 0 0; line-height: 1; transition: all 0.3s cubic-bezier(0.2, 0.8, 0.2, 1); flex-shrink: 0; }
.de-enhanced-grid li:hover .de-list-icon { background: var(--de-blue-accent); color: var(--de-white); transform: translateY(-2px) scale(1.05); box-shadow: 0 8px 16px rgba(0,123,255,0.25); }
.de-enhanced-grid .de-list-text { font-size: 15px; color: var(--de-text); line-height: 1.4; }
.de-enhanced-grid .de-list-text strong { display: block; font-size: 16px; color: var(--de-navy); font-weight: 700; margin-bottom: 2px;}

.de-clean-list { display: flex !important; flex-direction: column !important; gap: 20px !important; margin-bottom: 30px !important; }
.de-clean-list li { display: flex !important; align-items: flex-start !important; gap: 15px !important; margin: 0 !important; }
.de-cl-icon { flex-shrink: 0; color: var(--de-blue-accent); font-size: 18px; margin-top: 3px; }
.de-cl-text { font-size: 16px; line-height: 1.5; color: var(--de-text); }
.de-cl-text strong { font-weight: 700; color: var(--de-navy); }

.de-contact-info-list { display: flex; flex-direction: column; gap: 25px; margin: 0; padding: 0; list-style: none; }
.de-contact-info-list li { display: flex; align-items: flex-start; gap: 20px; }
.de-ci-icon { width: 50px; height: 50px; background: rgba(0, 123, 255, 0.1); color: var(--de-blue-accent); font-size: 20px; border-radius: 12px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: transform 0.3s ease, background 0.3s ease, color 0.3s ease; }
.de-contact-info-list li:hover .de-ci-icon { background: var(--de-blue-accent); color: var(--de-white); transform: scale(1.1); box-shadow: 0 8px 15px rgba(0, 123, 255, 0.2); }
.de-ci-text strong { display: block; font-size: 18px; color: var(--de-navy); font-weight: 800; margin-bottom: 4px; }
.de-ci-text span { font-size: 15px; color: var(--de-gray); line-height: 1.5; display: block; }

/* --- UNIFIED PRICING TABLES --- */
.de-pricing-table { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; align-items: stretch; position: relative; z-index: 2; margin-top: 30px; }
.de-pt-card { background: #ffffff; border: 1px solid var(--de-border); border-radius: 12px; padding: 30px 18px 25px 18px; display: flex; flex-direction: column; height: 100%; text-align: center; box-shadow: 0 8px 25px rgba(0, 39, 92, 0.04); transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.4s ease; position: relative; overflow: visible !important; transform: scale(1); }
.de-pt-card:hover { transform: translateY(-5px); box-shadow: 0 15px 40px rgba(0, 39, 92, 0.08); }
.de-pt-card-popular { border: 2px solid var(--de-navy); box-shadow: 0 12px 35px rgba(0, 39, 92, 0.1); }
.de-popular-badge { position: absolute; top: -14px; left: 50%; transform: translateX(-50%); background: var(--de-blue-accent); color: var(--de-white); font-size: 11px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; padding: 5px 18px; border-radius: 50px; white-space: nowrap; z-index: 10; box-shadow: 0 4px 10px rgba(0, 123, 255, 0.3); }
.de-tier-1 .de-pt-tier-icon { background-color: #0ea5e9; } 
.de-tier-2 .de-pt-tier-icon-dark { background-color: var(--de-blue-accent); } 
.de-tier-3 .de-pt-tier-icon { background-color: var(--de-navy); } 
.de-tier-4 .de-pt-tier-icon { background-color: #112337; } 
.de-pt-header { margin-bottom: 12px; }
.de-pt-tier-icon, .de-pt-tier-icon-dark { width: 44px; height: 44px; color: white; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 20px; margin: 0 auto 12px auto; }
.de-pricing-title { font-size: 18px; font-weight: 800; color: var(--de-navy); margin-bottom: 5px; text-transform: uppercase; letter-spacing: 1px;}
.de-pricing-subtitle { font-size: 12px; color: var(--de-gray); font-style: italic; }
.de-pt-price { font-size: 46px; font-weight: 900; color: var(--de-navy); margin: 8px 0 12px 0; line-height: 1; display: flex; justify-content: center; align-items: flex-start;}
.de-pt-price .currency { font-size: 22px; font-weight: 700; margin-top: 5px; margin-right: 2px; }
.de-pt-price .unit { font-size: 14px; font-weight: 600; color: var(--de-gray); margin-top: auto; margin-bottom: 6px; margin-left: 4px; }
.de-pt-setup-box { background: #f8fafc; border: 1px solid var(--de-border); border-radius: 8px; padding: 10px; margin-bottom: 12px; font-size: 12.5px; color: var(--de-text); }
.de-setup-line { margin-bottom: 4px; }
.de-pt-setup-box strong { color: var(--de-navy); }
.de-pt-desc-box { font-size: 12.5px; color: var(--de-gray); line-height: 1.5; margin-bottom: 12px; min-height: 38px; display: flex; flex-direction: column; justify-content: flex-end; align-items: center;}
.de-desc-item { margin-bottom: 4px; }
.de-green-pill { background: var(--de-green-light); color: var(--de-green); padding: 6px 12px; border-radius: 6px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; gap: 6px; margin: 10px auto 0 auto; font-size: 11px; text-transform: uppercase; letter-spacing: 0.5px; white-space: nowrap !important; width: fit-content; }
.de-pt-divider { border: none; border-top: 1px solid var(--de-border); margin: 0 0 15px 0; width: 100%; }
.de-pt-features { display: flex; flex-direction: column; text-align: left; padding: 0; list-style: none; margin-bottom: 20px; flex-grow: 1; }
.de-pt-features li { display: flex; align-items: flex-start; gap: 6px; margin-bottom: 10px; font-size: 13px; color: var(--de-text); line-height: 1.4; }
.de-feat-icon, .de-feat-icon-dark { display: flex; align-items: center; justify-content: center; width: 16px; height: 16px; background: #e0f0ff; color: var(--de-blue-accent); border-radius: 50%; flex-shrink: 0; font-size: 9px; margin-top: 2px; }
.de-pt-features li strong { font-weight: 700; color: var(--de-navy); }
.de-pt-footer { margin-top: auto; display: flex; flex-direction: column; justify-content: flex-end; }
.de-pricing-btn { width: 100%; text-align: center; font-size: 12px !important; padding: 14px 10px !important; }

/* Pricing Teaser */
.de-pricing-teaser { background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border: 1px solid var(--de-border); border-radius: 24px; padding: 70px 60px; text-align: center; box-shadow: 0 25px 60px rgba(0, 39, 92, 0.08); position: relative; z-index: 2; }
.de-teaser-header { max-width: 700px; margin: 0 auto 50px auto; }
.de-teaser-header h2 { font-size: clamp(32px, 4vw, 42px); color: var(--de-navy); font-weight: 900; margin-bottom: 20px; letter-spacing: -0.5px; }
.de-teaser-header p { font-size: 17px; color: var(--de-gray); line-height: 1.6; }
.de-teaser-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-bottom: 50px; }
.de-teaser-item { background: var(--de-bg-light); border: 1px solid var(--de-border); border-radius: 16px; padding: 30px 20px; transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.4s ease; cursor: default; display: flex; flex-direction: column; }
.de-teaser-item:hover { transform: translateY(-8px); box-shadow: 0 15px 30px rgba(0, 39, 92, 0.08); }
.de-ti-icon { width: 46px; height: 46px; margin: 0 auto 15px auto; color: var(--de-white); border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 18px; box-shadow: 0 8px 15px rgba(0,0,0,0.1); }
.de-teaser-item h4 { font-size: 18px; font-weight: 800; color: var(--de-navy); margin: 0 0 5px 0; text-transform: uppercase; letter-spacing: 0.5px; }
.de-teaser-item span { font-size: 13px; color: var(--de-gray); font-style: italic; margin-bottom: 20px; display: block; border-bottom: 1px solid var(--de-border); padding-bottom: 15px;}
.de-teaser-features { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; list-style: none; text-align: left; }
.de-teaser-features li { font-size: 13px; color: var(--de-text); line-height: 1.4; display: flex; align-items: flex-start; gap: 8px;}
.de-teaser-features i { color: var(--de-blue-accent); font-size: 11px; margin-top: 3px;}
.de-teaser-action { display: flex; flex-direction: column; align-items: center; gap: 20px; border-top: 1px solid var(--de-border); padding-top: 40px; }
.de-teaser-price-note { font-size: 15px; color: var(--de-text); }
.de-teaser-price-note strong { font-size: 26px; font-weight: 900; color: var(--de-navy); }

/* --- UNIFIED FORMS --- */
.de-form-card { background: var(--de-white); border-radius: 16px; padding: 50px 40px; box-shadow: 0 20px 50px rgba(0, 39, 92, 0.08); border: 1px solid var(--de-border); border-top: 5px solid var(--de-navy); width: 100%; }
.de-form-header { margin-bottom: 30px; text-align: center; }
.de-form-header h3, .de-form-header h2 { font-size: 24px; color: var(--de-navy); font-weight: 900; margin-bottom: 10px; letter-spacing: -0.5px; }
.de-form-header p { font-size: 15px; color: var(--de-gray); line-height: 1.5; margin: 0; }
.de-form-wrapper { max-width: 800px; margin: 0 auto; background: rgba(255, 255, 255, 0.9); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); padding: 50px; border-radius: 20px; box-shadow: 0 30px 60px -15px rgba(0,39,92,0.15); border: 1px solid rgba(255,255,255,0.9); position: relative; z-index: 2; }
.de-form-wrapper .de-form-header h2 { font-size: 32px; margin-bottom: 15px; }

/* Gravity Forms Overrides (Combined globally for #gform_wrapper_2 and generic) */
.de-gform-wrapper .gform_wrapper, #gform_wrapper_2 { margin: 0 !important; }
.de-gform-wrapper .gform_heading, #gform_wrapper_2 .gform_heading { display: none !important; } 
.de-gform-wrapper .gfield_label, #gform_wrapper_2 .gform-field-label { font-weight: 600 !important; color: var(--de-navy) !important; font-size: 14px !important; margin-bottom: 8px !important; display: block !important; }
.de-gform-wrapper .ginput_container input[type="text"], .de-gform-wrapper .ginput_container input[type="email"], .de-gform-wrapper .ginput_container input[type="tel"], .de-gform-wrapper .ginput_container input[type="number"], .de-gform-wrapper .ginput_container input[type="url"], .de-gform-wrapper .ginput_container textarea, .de-gform-wrapper .ginput_container select, #gform_wrapper_2 input[type="text"], #gform_wrapper_2 input[type="email"], #gform_wrapper_2 input[type="number"], #gform_wrapper_2 textarea { width: 100% !important; padding: 14px 18px !important; border: 1px solid var(--de-border) !important; border-radius: 8px !important; font-family: 'Inter', sans-serif !important; font-size: 15px !important; color: var(--de-text) !important; background-color: #f8fafc !important; transition: all 0.3s ease !important; box-sizing: border-box !important; }
.de-gform-wrapper .ginput_container input:focus, .de-gform-wrapper .ginput_container textarea:focus, .de-gform-wrapper .ginput_container select:focus, #gform_wrapper_2 input:focus, #gform_wrapper_2 textarea:focus { border-color: var(--de-blue-accent) !important; outline: none !important; background-color: var(--de-white) !important; box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1) !important; }
.de-gform-wrapper .gform_body ul.gform_fields li.gfield { padding-right: 0 !important; margin-bottom: 20px !important; }
.de-gform-wrapper .gform_footer { padding: 10px 0 0 0 !important; margin: 0 !important; text-align: center !important;}
.de-gform-wrapper .gform_button, #gform_wrapper_2 .gform_button { background-color: var(--de-navy) !important; color: var(--de-white) !important; border: none !important; padding: 18px 32px !important; font-size: 15px !important; font-weight: 700 !important; border-radius: 8px !important; cursor: pointer !important; width: 100% !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; transition: all 0.3s ease !important; font-family: 'Inter', sans-serif !important; margin-top: 20px !important;}
.de-gform-wrapper .gform_button:hover, #gform_wrapper_2 .gform_button:hover { background-color: var(--de-blue-accent) !important; transform: translateY(-2px) !important; box-shadow: 0 10px 20px -3px rgba(0, 123, 255, 0.25) !important; }

/* --- UNIFIED FAQ ACCORDION --- */
.de-faq-split { align-items: stretch; }
.de-faq-split .de-split-text { max-width: 600px; flex: 1 1 600px; }
.de-faq-split .de-split-image { max-width: 450px; flex: 1 1 450px; }
.de-faq-container { display: flex; flex-direction: column; gap: 15px; width: 100%; margin: 0; }
.de-faq-item { background: #ffffff; border: 1px solid var(--de-border); border-radius: 12px; overflow: hidden; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02); transition: all 0.3s ease; }
.de-faq-item:hover { border-color: rgba(0, 123, 255, 0.3); }
.de-faq-item.is-open { border-color: var(--de-blue-accent); box-shadow: 0 10px 25px rgba(0, 123, 255, 0.08); }
.de-faq-question { padding: 24px; font-size: 17px; font-weight: 700; color: var(--de-navy); cursor: pointer; display: flex; justify-content: space-between; align-items: center; user-select: none; transition: color 0.3s ease; line-height: 1.4; }
.de-faq-question:hover { color: var(--de-blue-accent); }
.de-faq-question i { color: var(--de-blue-accent); font-size: 16px; transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1); }
.de-faq-item.is-open .de-faq-question i { transform: rotate(180deg); }
.de-faq-answer { display: none; padding: 0 24px 24px 24px; font-size: 15px; color: var(--de-gray); line-height: 1.6; }
.de-faq-item.is-open .de-faq-answer { display: block; animation: faqFadeIn 0.4s ease; }
.de-faq-answer a { color: var(--de-blue-accent); font-weight: 600; text-decoration: none; border-bottom: 1px solid transparent; transition: border-color 0.2s ease;}
.de-faq-answer a:hover { border-bottom-color: var(--de-blue-accent); }
@keyframes faqFadeIn { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } }

/* --- UNIFIED GALLERY --- */
.de-gallery-wrapper { max-width: 1000px; margin: 0 auto; background: rgba(255, 255, 255, 0.8); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); padding: 40px; border-radius: 20px; box-shadow: 0 30px 60px -15px rgba(0,39,92,0.15); border: 1px solid rgba(255,255,255,0.9); position: relative; z-index: 2; }
.de-gallery-main-view { position: relative; width: 100%; aspect-ratio: 16/10; border-radius: 12px; overflow: hidden; margin-bottom: 25px; background: #f8fafc; box-shadow: inset 0 0 0 1px rgba(0,0,0,0.05); }
.de-gallery-image-container { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.de-gallery-image-container img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; transition: opacity 0.4s ease, transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1); transform-origin: center center; }
.de-gallery-image-container img.is-changing { opacity: 0; transform: scale(0.98); }
.de-gallery-protection { position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: 10; cursor: default; }
.de-gallery-arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; background: rgba(255, 255, 255, 0.95); border: none; border-radius: 50%; color: var(--de-navy); font-size: 16px; cursor: pointer; z-index: 20; box-shadow: 0 4px 20px rgba(0,0,0,0.1); transition: all 0.3s cubic-bezier(0.2, 0.8, 0.2, 1); display: flex; align-items: center; justify-content: center; }
.de-gallery-arrow:hover { background: var(--de-navy); color: var(--de-white); transform: translateY(-50%) scale(1.1); box-shadow: 0 8px 25px rgba(0,39,92,0.3); }
.de-gallery-prev { left: 20px; } .de-gallery-next { right: 20px; }
.de-gallery-thumbnails { display: flex; justify-content: center; gap: 12px; overflow-x: auto; padding-bottom: 10px; scrollbar-width: thin; scrollbar-color: var(--de-border) transparent; width: 100%; }
.de-gallery-thumbnails::-webkit-scrollbar { height: 6px; } .de-gallery-thumbnails::-webkit-scrollbar-track { background: transparent; } .de-gallery-thumbnails::-webkit-scrollbar-thumb { background-color: var(--de-border); border-radius: 20px; }
.de-thumb { width: 100px; height: 70px; object-fit: cover; border-radius: 6px; cursor: pointer; opacity: 0.5; border: 2px solid transparent; transition: all 0.3s cubic-bezier(0.2, 0.8, 0.2, 1); flex-shrink: 0; }
.de-thumb:hover { opacity: 0.8; } 
.de-thumb.active { opacity: 1; border-color: var(--de-blue-accent); box-shadow: 0 8px 16px rgba(0, 123, 255, 0.2); transform: scale(1.05); }

/* --- UNIFIED MISC (Quotes, Split CTAs, Legal) --- */
.de-mission-quote { background: var(--de-white); padding: 30px 40px; border-radius: 16px; box-shadow: 0 15px 40px rgba(0,39,92,0.06); border: 1px solid var(--de-border); border-left: 6px solid var(--de-blue-accent); position: relative; }
.de-quote-icon { font-size: 35px; color: var(--de-blue-accent); opacity: 0.15; position: absolute; top: 20px; left: 20px; }
.de-mission-quote blockquote { margin: 0; padding: 0; font-size: 22px; font-weight: 800; font-style: italic; color: var(--de-navy); line-height: 1.4; letter-spacing: -0.5px; position: relative; z-index: 2; }
.de-mission-quote blockquote::before, .de-mission-quote blockquote::after { content: none !important; display: none !important; }

.de-cta-hero-card { background: var(--de-white); border-radius: 20px; overflow: hidden; box-shadow: 0 20px 50px rgba(0, 39, 92, 0.08); border: 1px solid var(--de-border); }
.de-cta-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; }
.de-cta-image { position: relative; min-height: 400px; width: 100%; }
.de-cta-image img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.de-cta-content { padding: 60px 50px; display: flex; flex-direction: column; justify-content: center; }
.de-cta-content h3 { font-size: 32px; font-weight: 900; color: var(--de-navy); margin-bottom: 20px; line-height: 1.2; letter-spacing: -0.5px; }
.de-cta-content p { font-size: 16px; color: var(--de-gray); line-height: 1.6; margin-bottom: 35px; }
.de-cta-buttons { display: flex; gap: 15px; flex-wrap: wrap; }

.de-legal-section { background-color: var(--de-white); border-top: 1px solid var(--de-border); padding: 60px 0; }
.de-legal-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; max-width: 1000px; margin: 0 auto; }
.de-legal-block h4 { font-size: 14px; font-weight: 800; color: var(--de-navy); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 15px; display: flex; align-items: center; gap: 8px;}
.de-legal-block h4 i { color: var(--de-gray); font-size: 16px; }
.de-legal-block p { font-size: 13px; color: var(--de-gray); line-height: 1.6; text-align: justify; }

/* --- UNIFIED FINAL CTAs --- */
.de-parallax-cta { position: relative; padding: 140px 0; background-size: cover; background-position: center; background-attachment: fixed; text-align: center; }
.de-parallax-overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 39, 92, 0.88); }
.de-parallax-content { position: relative; z-index: 2; max-width: 800px; color: var(--de-white); margin: 0 auto; }
.de-parallax-content h2 { color: var(--de-white) !important; font-size: clamp(32px, 4vw, 46px); margin-bottom: 20px; }
.de-parallax-content p { font-size: 20px; margin-bottom: 40px; opacity: 0.9; line-height: 1.6; }

.de-final-cta { position: relative; padding: 160px 0; background-size: cover; background-position: center; background-attachment: fixed; text-align: center; border-top: 4px solid var(--de-navy); }
.de-final-overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(135deg, rgba(0, 39, 92, 0.95) 0%, rgba(20, 59, 112, 0.8) 100%); z-index: 1; }
.de-final-content { position: relative; z-index: 2; max-width: 800px; color: var(--de-white); margin: 0 auto; }
.de-final-content h2 { color: var(--de-white) !important; font-size: clamp(36px, 5vw, 56px); margin-bottom: 25px; font-weight: 900; letter-spacing: -1px; }
.de-final-content p { font-size: clamp(18px, 2.5vw, 22px); margin-bottom: 45px; opacity: 0.95; line-height: 1.6; }

/* --- UNIFIED SCROLL ANIMATIONS --- */
.de-reveal-up { opacity: 0; transform: translateY(50px); transition: opacity 0.8s ease, transform 0.8s cubic-bezier(0.2, 0.8, 0.2, 1); }
.de-reveal-scale { opacity: 0; transform: scale(0.95); transition: opacity 1s ease, transform 1s cubic-bezier(0.2, 0.8, 0.2, 1); }
.de-slide-left { opacity: 0; transform: translateX(60px); transition: opacity 0.9s ease, transform 0.9s cubic-bezier(0.2, 0.8, 0.2, 1); }
.de-slide-right { opacity: 0; transform: translateX(-60px); transition: opacity 0.9s ease, transform 0.9s cubic-bezier(0.2, 0.8, 0.2, 1); }
.de-reveal-up.is-visible, .de-reveal-scale.is-visible, .de-slide-left.is-visible, .de-slide-right.is-visible { opacity: 1; transform: translate(0) scale(1); }
.de-delay-1 { transition-delay: 0.1s; } .de-delay-2 { transition-delay: 0.2s; } .de-delay-3 { transition-delay: 0.3s; } .de-delay-4 { transition-delay: 0.4s; } .de-delay-5 { transition-delay: 0.5s; } .de-delay-6 { transition-delay: 0.6s; }

/* --- UNIFIED GLOBAL FOOTER --- */
.de-premium-footer { background-color: var(--de-navy, #00275c); color: rgba(255, 255, 255, 0.7); font-family: 'Inter', sans-serif; padding: 80px 0 30px; border-top: 4px solid #001a3d; width: 100vw !important; position: relative; left: 50%; right: 50%; margin-left: -50vw !important; margin-right: -50vw !important; overflow: hidden; }
.de-premium-footer::before { content: ''; position: absolute; top: -200px; right: -100px; width: 500px; height: 500px; background: var(--de-blue-accent, #007bff); border-radius: 50%; filter: blur(150px); opacity: 0.15; z-index: 0; pointer-events: none; }
.de-premium-home .de-premium-footer .de-container { max-width: 1240px; margin: 0 auto; padding: 0 20px; position: relative; z-index: 1; }
.de-footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 60px; margin-bottom: 60px; }
.de-footer-brand h3 { color: #ffffff; font-size: 24px; font-weight: 900; letter-spacing: -0.5px; margin: 0 0 20px 0; }
.de-footer-brand p { font-size: 15px; line-height: 1.6; max-width: 400px; margin: 0; }
.de-footer-col h4 { color: #ffffff; font-size: 14px; font-weight: 800; text-transform: uppercase; letter-spacing: 1.5px; margin: 0 0 25px 0; }
.de-footer-links ul, .de-footer-contact ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.de-footer-links ul li, .de-footer-contact ul li { margin-bottom: 15px !important; list-style-type: none !important; }
.de-footer-links ul li::before, .de-footer-contact ul li::before { display: none !important; content: none !important; }
.de-footer-col a { color: rgba(255, 255, 255, 0.7); text-decoration: none; font-size: 15px; transition: color 0.3s ease, transform 0.3s ease; display: inline-block; }
.de-footer-col a:hover { color: var(--de-white, #ffffff); transform: translateX(5px); }
.de-footer-bottom { border-top: 1px solid rgba(255, 255, 255, 0.1); padding-top: 30px; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 20px; font-size: 13px; }
.de-footer-bottom p { margin: 0; }
.de-footer-legal { display: flex; gap: 25px; flex-wrap: wrap; }
.de-footer-legal a { color: rgba(255, 255, 255, 0.5); text-decoration: none; transition: color 0.3s ease; }
.de-footer-legal a:hover { color: var(--de-white, #ffffff); }

/* --- UNIFIED RESPONSIVE MEDIA QUERIES --- */
@media (max-width: 1200px) {
    .de-pt-card { padding: 30px 12px 20px 12px; }
    .de-pt-price { font-size: 38px; }
}
@media (max-width: 1100px) {
    .de-trust-grid.de-grid-7 { gap: 20px; }
}
@media (max-width: 992px) {
    .de-split-layout { flex-direction: column; gap: 50px; align-items: center !important;}
    .de-reverse { flex-direction: column; }
    .de-split-text, .de-split-image { flex: 0 0 100%; width: 100%; max-width: 100%; }
    .de-img-wrapper, .de-img-tall { min-height: 400px; aspect-ratio: auto; } 
    .de-slide-left, .de-slide-right { transform: translateY(40px); } 
    .de-section { padding: 100px 0 !important; }
    .de-trust-grid { justify-content: center; text-align: center; }
    .de-pricing-table { grid-template-columns: repeat(2, 1fr); gap: 40px; align-items: stretch; margin-top: 40px; }
    .de-grid-3 { grid-template-columns: 1fr; gap: 30px; }
    .de-cta-grid { grid-template-columns: 1fr; }
    .de-cta-image { min-height: 300px; }
    .de-legal-grid { grid-template-columns: 1fr; gap: 30px; }
    .de-teaser-grid { grid-template-columns: repeat(2, 1fr); }
    .de-pricing-teaser { padding: 50px 30px; }
    .de-footer-grid { grid-template-columns: 1fr 1fr; gap: 50px; }
    .de-footer-brand { grid-column: span 2; }
}
@media (max-width: 768px) {
    .de-hero-content h1 { font-size: 32px; }
    .de-section { padding: 80px 0 !important; }
    .de-form-card { padding: 40px 20px; }
    .de-form-wrapper { padding: 30px; }
    .de-grid-2 { grid-template-columns: 1fr; }
    .de-mission-quote { padding: 30px 20px; }
    .de-mission-quote blockquote { font-size: 20px; }
    .de-cta-button-wrapper .de-btn, .de-cta-buttons .de-btn { width: 100%; margin: 0 0 15px 0 !important; }
    .de-pricing-table { grid-template-columns: 1fr; gap: 50px;}
    .de-trust-grid { flex-direction: column; align-items: center; gap: 15px;}
    .de-trust-bar-main .de-trust-item { text-align: center; }
    .de-cta-content { padding: 40px 25px; }
    .de-cta-buttons { flex-direction: column; }
    .de-teaser-grid { grid-template-columns: 1fr; }
    .de-parallax-cta, .de-final-cta, .de-hero { background-attachment: scroll; }
    .de-final-cta { padding: 100px 0;}
    .de-trust-stat { font-size: 26px; }
    .de-enhanced-grid { grid-template-columns: 1fr; }
    .de-gallery-wrapper { padding: 20px; }
    .de-gallery-arrow { width: 40px; height: 40px; font-size: 14px; }
    .de-gallery-prev { left: 10px; }
    .de-gallery-next { right: 10px; }
    .de-gallery-thumbnails { justify-content: flex-start; } 
    .de-tier-trust { margin-top: 40px; padding-top: 30px; }
    .de-tier-trust-item { font-size: 13px; padding: 8px 16px; }
    .de-footer-grid { grid-template-columns: 1fr; gap: 40px; }
    .de-footer-brand { grid-column: span 1; }
    .de-footer-bottom { flex-direction: column; text-align: center; justify-content: center; }
    .de-footer-legal { justify-content: center; }
}


/* ==========================================================================
   MOBILE MENU FIX (Premium Branded Layout)
   ========================================================================== */
@media (max-width: 1075px) {
    
    /* 1. Keep the Logo and Hamburger button aligned side-by-side */
    .site-header .wrap {
        display: flex !important;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        padding: 15px 20px !important;
    }

    /* 2. Force the menu container to take up the full width below the logo */
    .nav-primary {
        width: 100% !important;
        flex: 0 0 100%;
        order: 3;
    }

    /* 3. DESTROY the flex row that forces items offscreen */
    .genesis-nav-menu { 
        display: block !important; 
    }

    /* 4. Style the opened mobile dropdown wrapper with brand accents */
    .genesis-responsive-menu {
        background-color: var(--de-white) !important;
        width: calc(100% + 40px) !important; /* Offsets the container padding */
        margin-left: -20px !important;
        padding: 0 !important; /* Flush to edges */
        box-shadow: 0 20px 50px rgba(0, 39, 92, 0.15);
        border-top: 4px solid var(--de-blue-accent); /* Strong brand accent line */
        margin-top: 15px;
        border-bottom-left-radius: 16px;
        border-bottom-right-radius: 16px;
        overflow: hidden;
    }

    /* 5. App-style Mobile Links */
    .site-header .genesis-nav-menu > li > a { 
        color: var(--de-navy) !important; 
        padding: 18px 25px !important;
        border-bottom: 1px solid var(--de-border);
        display: flex !important;
        justify-content: space-between;
        align-items: center;
        font-weight: 700 !important;
        font-size: 16px !important;
        background-color: var(--de-white);
        transition: all 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
    }
    
    /* Override desktop underline and replace with a Blue Action Chevron */
    .site-header .genesis-nav-menu > li > a::after,
    .site-header.is-scrolled .genesis-nav-menu > li > a::after {
        content: '\276F' !important; 
        position: static !important; 
        display: block !important;
        color: var(--de-blue-accent) !important;
        font-size: 14px !important;
        
        /* CORRECTION DE LA BOÎTE NOIRE */
        background: none !important; 
        background-color: transparent !important; 
        border: none !important; 

        height: auto !important;
        width: auto !important;
        transform: none !important;
        transition: transform 0.3s ease !important;
    }
    
    /* Active / Touch State: Changes text to blue, adds subtle background, indents slightly */
    .site-header .genesis-nav-menu > li > a:hover,
    .site-header .genesis-nav-menu > li.current-menu-item > a {
        color: var(--de-blue-accent) !important;
        background-color: rgba(0, 123, 255, 0.04) !important;
        padding-left: 32px !important;
    }

    /* Pushes the chevron to the right when tapped */
    .site-header .genesis-nav-menu > li > a:hover::after,
    .site-header .genesis-nav-menu > li.current-menu-item > a::after {
        transform: translateX(5px) !important;
    }
    
    /* Remove border from the last item for a clean finish */
    .site-header .genesis-nav-menu > li:last-child > a {
        border-bottom: none;
    }
    
    /* 6. Hamburger Menu Button Styling */
    .menu-toggle {
        margin: 0 !important;
        padding: 8px 12px !important;
        background: transparent !important;
        border: 2px solid var(--de-navy) !important;
        color: var(--de-navy) !important;
        border-radius: 6px;
    }

    /* Make hamburger white when at the very top of the page (transparent header) */
    .site-header:not(.is-scrolled) .menu-toggle {
        border-color: var(--de-white) !important;
        color: var(--de-white) !important;
    }

    /* OVERRIDE : Force le bleu immédiatement sur les pages WooCommerce (fond blanc) */
    body.woocommerce .site-header:not(.is-scrolled) .menu-toggle,
    body.woocommerce-page .site-header:not(.is-scrolled) .menu-toggle {
        border-color: var(--de-navy) !important;
        color: var(--de-navy) !important;
    }
    
    /* 5. App-style Mobile Links */
    .site-header .genesis-nav-menu > li > a { 
        color: var(--de-navy) !important; 
        padding: 18px 25px !important;
        border-bottom: 1px solid var(--de-border);
        display: flex !important;
        justify-content: space-between;
        align-items: center;
        font-weight: 700 !important;
        font-size: 16px !important;
        background-color: var(--de-white);
        transition: all 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
    }
    
/* Override desktop underline and replace with a Blue Action Chevron */
    .site-header .genesis-nav-menu > li > a::after,
    .site-header.is-scrolled .genesis-nav-menu > li > a::after {
        content: '\276F' !important; 
        position: static !important; 
        display: block !important;
        color: var(--de-blue-accent) !important;
        font-size: 14px !important;
        background: transparent !important; /* This overrides the dark box */
        height: auto !important;
        width: auto !important;
        transform: none !important;
        transition: transform 0.3s ease !important;
    }
    
    /* Active / Touch State: Changes text to blue, adds subtle background, indents slightly */
    .site-header .genesis-nav-menu > li > a:hover,
    .site-header .genesis-nav-menu > li.current-menu-item > a {
        color: var(--de-blue-accent) !important;
        background-color: rgba(0, 123, 255, 0.04) !important;
        padding-left: 32px !important;
    }

    /* Pushes the chevron to the right when tapped */
    .site-header .genesis-nav-menu > li > a:hover::after,
    .site-header .genesis-nav-menu > li.current-menu-item > a::after {
        transform: translateX(5px) !important;
    }
    
    /* Remove border from the last item for a clean finish */
    .site-header .genesis-nav-menu > li:last-child > a {
        border-bottom: none;
    }
    
    /* 6. Hamburger Menu Button Styling */
    .menu-toggle {
        margin: 0 !important;
        padding: 8px 12px !important;
        background: transparent !important;
        border: 2px solid var(--de-navy) !important;
        color: var(--de-navy) !important;
        border-radius: 6px;
    }

    /* Make hamburger white when at the very top of the page (transparent header) */
    .site-header:not(.is-scrolled) .menu-toggle {
        border-color: var(--de-white) !important;
        color: var(--de-white) !important;
    }
}



/* Genesis Empty Space Corrections */
.wp-block-cover, .wp-block-cover-image { padding: 0px !important; }
.site-inner { padding-top: 0px !important; }

/* Print Styles
---------------------------------------------------------------------------- */
@media print {
    *, *::before, *::after { background: transparent !important; box-shadow: none !important; color: #000 !important; text-shadow: none !important; }
    a, a:visited { text-decoration: underline; }
    a[href]::after { content: " (" attr(href) ")"; }
    abbr[title]::after { content: " (" attr(title) ")"; }
    a[href^="javascript:"]::after, a[href^="#"]::after, .site-title > a::after { content: ""; }
    thead { display: table-header-group; }
    img, tr { page-break-inside: avoid; }
    img { max-width: 100% !important; }
    p { orphans: 3; widows: 3; }
    blockquote, pre { clear: both; padding: 20px; }
    .authority-grid.archive .content .entry, .content, .content-sidebar, .flexible-widgets .featured-content .entry, .flexible-widgets .widget, .wp-custom-logo .title-area, .title-area, .woocommerce.archive .content .entry { max-width: 100% !important; width: 100% !important; }
    .flexible-widgets .widget, .flexible-widgets .widget:nth-child(2n) { float: none; }
    button, input, select, textarea, .breadcrumb, .comment-edit-link, .comment-form, .comment-list .reply a, .comment-reply-title, .edit-link, .entry-comments-link, .entry-footer, .genesis-box, .hidden-print, .home-top, .nav-primary, .nav-secondary, .nav-social, .pagination, .post-edit-link, .sidebar { display: none !important; }
    .author-box { margin-bottom: 0; }
    .title-area { text-align: center; width: 100%; }
    .site-title > a { margin: 0; text-decoration: none; text-indent: 0; }
    .site-inner { padding-top: 0; position: relative; }
    .more-link { border-width: 0; display: block; margin-bottom: 20px; position: static; }
    .more-link-wrap { border-width: 0; }
    h1, h2, h3, h4, h5, h6 { orphans: 3; page-break-after: avoid; page-break-inside: avoid; widows: 3; }
    img { page-break-after: avoid; page-break-inside: avoid; }
    blockquote, pre, table { page-break-inside: avoid; }
    dl, ol, ul { page-break-before: avoid; }
}






/* fix footer image width too large in woocommerce pages*/
.woocommerce img, .woocommerce-page img {
  max-width: auto !important;
}




.de-footer-logo { max-width: 280px !important; height: auto; margin-bottom: 15px; display: block; }
/* Image Float & Accents */
@keyframes float-img { 0% { transform: translateY(0px); } 50% { transform: translateY(-12px); } 100% { transform: translateY(0px); } }
.de-img-float { animation: float-img 7s ease-in-out infinite; }
.de-split-image { position: relative; z-index: 1; }
.de-img-wrapper.de-img-accent::after { content: ''; position: absolute; top: 15px; left: 15px; right: -15px; bottom: -15px; border: 2px solid var(--de-navy); opacity: 0.08; z-index: -1; border-radius: 12px; transition: all 0.6s cubic-bezier(0.2, 0.8, 0.2, 1); pointer-events: none;}
.de-split-layout:hover .de-img-wrapper.de-img-accent::after { top: 8px; left: 8px; right: -8px; bottom: -8px; opacity: 0.15; border-color: var(--de-blue-accent); }
/* TALLER IMAGE WRAPPERS */
.de-img-wrapper { 
    position: relative; border-radius: 12px; overflow: hidden; 
    box-shadow: 0 25px 50px -12px rgba(0,39,92,0.15); 
    width: 100%; min-height: 550px; 
    border: 1px solid rgba(0,0,0,0.05); transition: box-shadow 0.5s ease; background: var(--de-white); 
}
.de-img-fixed-height { min-height: auto; aspect-ratio: 4/3; } 
.de-img-wrapper img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.8s ease; }
.de-img-wrapper:hover { box-shadow: 0 35px 60px -15px rgba(0,39,92,0.25); }
.de-img-wrapper:hover img { transform: scale(1.04); }
/* Image Wrappers */
.de-img-wrapper { position: relative; border-radius: 12px; overflow: hidden; box-shadow: 0 25px 50px -12px rgba(0,39,92,0.15); aspect-ratio: 4/3; width: 100%; border: 1px solid rgba(0,0,0,0.05); transition: transform 0.5s ease, box-shadow 0.5s ease; }
.de-img-wrapper img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.8s ease; }
.de-img-wrapper:hover { transform: translateY(-5px); box-shadow: 0 35px 60px -15px rgba(0,39,92,0.25); }
.de-img-wrapper:hover img { transform: scale(1.04); }
.de-img-accent::after { content: ''; position: absolute; top: 15px; left: 15px; right: -15px; bottom: -15px; border: 2px solid var(--de-navy); opacity: 0.08; z-index: -1; border-radius: 12px; transition: all 0.6s ease; pointer-events: none;}
.de-split-layout:hover .de-img-accent::after { top: 8px; left: 8px; right: -8px; bottom: -8px; opacity: 0.15; border-color: var(--de-blue-accent); }







/* ==========================================================================
   WOOCOMMERCE SINGLE PRODUCT PAGE (PREMIUM OVERRIDES)
   ========================================================================== */

/* Structure générale */
.woocommerce div.product {
    max-width: 1240px;
    margin: 0 auto;
    padding: 40px 20px;
    font-family: 'Inter', sans-serif;
    color: var(--de-text);
}

/* Titre du produit */
.woocommerce div.product .product_title {
    font-size: clamp(32px, 4vw, 42px);
    font-weight: 900;
    color: var(--de-navy);
    letter-spacing: -0.5px;
    line-height: 1.2;
    margin-bottom: 15px;
}

/* Prix */
.woocommerce div.product p.price, 
.woocommerce div.product span.price {
    color: var(--de-navy);
    font-size: 32px;
    font-weight: 800;
    margin-bottom: 25px;
}
.woocommerce div.product p.price ins, 
.woocommerce div.product span.price ins {
    text-decoration: none;
}

/* Bouton Ajouter au panier */
.woocommerce div.product form.cart {
    margin: 30px 0;
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    align-items: center;
    border-top: 1px solid var(--de-border);
    border-bottom: 1px solid var(--de-border);
    padding: 30px 0;
}

.woocommerce div.product form.cart .button {
    background-color: var(--de-navy) !important;
    color: var(--de-white) !important;
    border-radius: 6px !important;
    padding: 18px 35px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    transition: all 0.3s ease !important;
    border: none !important;
    box-shadow: 0 4px 6px -1px rgba(0, 39, 92, 0.1) !important;
}

.woocommerce div.product form.cart .button:hover {
    background-color: var(--de-navy-light) !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 10px 20px -3px rgba(0, 39, 92, 0.25) !important;
}

/* Sélecteur de quantité */
.woocommerce div.product form.cart div.quantity {
    margin: 0;
}
.woocommerce div.product form.cart .qty {
    width: 80px;
    height: 54px;
    border-radius: 6px;
    border: 2px solid var(--de-border);
    text-align: center;
    font-size: 16px;
    font-weight: 600;
    color: var(--de-navy);
}

/* Badges de réassurance sous le panier (Custom) */
.de-product-trust-badges {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 20px;
}
.de-product-trust-badges div {
    font-size: 13px;
    color: var(--de-gray);
    display: flex;
    align-items: center;
    gap: 10px;
}
.de-product-trust-badges i {
    color: var(--de-blue-accent);
    font-size: 16px;
    width: 20px;
    text-align: center;
}

/* Onglets WooCommerce (Description, Avis) */
.woocommerce div.product .woocommerce-tabs ul.tabs {
    border-bottom: 2px solid var(--de-border);
    margin: 60px 0 30px;
    padding: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
    border: none;
    background: transparent;
    border-radius: 0;
    margin: 0 20px 0 0;
    padding: 0 0 10px 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
    display: none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    color: var(--de-gray);
    font-weight: 700;
    font-size: 16px;
    padding: 0;
    transition: color 0.3s ease;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: var(--de-navy);
    border-bottom: 3px solid var(--de-blue-accent);
    padding-bottom: 10px;
}

/* Masquer les onglets WooCommerce pour un défilement continu */
.woocommerce-tabs ul.tabs {
    display: none !important;
}
.woocommerce-tabs .panel {
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* Masquer l'onglet Description pour un défilement fluide */
.woocommerce-tabs ul.tabs {
    display: none !important;
}
.woocommerce-tabs .panel {
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin-top: 40px !important;
}

/* Typographie On-Brand Authority Pro */
.de-premium-home h2 {
    color: #0a2540;
    font-family: "Source Sans Pro", sans-serif !important;
    font-weight: 900 !important;
    font-size: clamp(28px, 4vw, 42px) !important;
    letter-spacing: -1px !important;
    margin-bottom: 40px !important;
}

.de-premium-home h3 {
    color: #0a2540 !important;
    font-family: "Source Sans Pro", sans-serif !important;
    font-weight: 700 !important;
    font-size: 24px !important;
    margin-bottom: 15px !important;
}
/* ==========================================================================
   WOOCOMMERCE SINGLE PRODUCT PAGE (PREMIUM OVERRIDES)
   ========================================================================== */

/* 1. HEADER FIX FOR WOOCOMMERCE (Forces white background & dark text at top) */
body.single-product .site-header { 
    background-color: rgba(255, 255, 255, 0.96) !important; 
    backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); 
    box-shadow: 0 4px 30px rgba(0, 39, 92, 0.06) !important; 
}
body.single-product .site-title a, 
body.single-product .genesis-nav-menu > li > a { color: var(--de-navy) !important; }
body.single-product .menu-toggle { border-color: var(--de-navy) !important; color: var(--de-navy) !important; }
body.single-product .custom-logo { filter: none !important; }
body.single-product .site-inner { padding-top: 140px !important; }


/* 1. HEADER FIX FOR LEGAL PAGES (IDs 2, 3, 139) */
body.page-id-2 .site-header,
body.page-id-3 .site-header,
body.page-id-139 .site-header { 
    background-color: rgba(255, 255, 255, 0.96) !important; 
    backdrop-filter: blur(12px); 
    -webkit-backdrop-filter: blur(12px); 
    box-shadow: 0 4px 30px rgba(0, 39, 92, 0.06) !important; 
}

/* 2. TEXT AND LINK COLORS */
body.page-id-2 .site-title a, 
body.page-id-2 .genesis-nav-menu > li > a,
body.page-id-3 .site-title a, 
body.page-id-3 .genesis-nav-menu > li > a,
body.page-id-139 .site-title a, 
body.page-id-139 .genesis-nav-menu > li > a { 
    color: var(--de-navy) !important; 
}

/* 3. MOBILE MENU TOGGLE */
body.page-id-2 .menu-toggle,
body.page-id-3 .menu-toggle,
body.page-id-139 .menu-toggle { 
    border-color: var(--de-navy) !important; 
    color: var(--de-navy) !important; 
}

/* 4. LOGO FILTER (If applicable) */
body.page-id-2 .custom-logo,
body.page-id-3 .custom-logo,
body.page-id-139 .custom-logo { 
    filter: none !important; 
}

/* 5. PADDING TOP TO PREVENT CONTENT OVERLAP */
body.page-id-2 .site-inner,
body.page-id-3 .site-inner,
body.page-id-139 .site-inner { 
    padding-top: 140px !important; 
}

/* 6. OPTIMAL READING WIDTH FOR LEGAL PAGES */
/* Corrige le texte trop étroit sur ces pages spécifiques */
body.page-id-2 .entry-content,
body.page-id-3 .entry-content,
body.page-id-139 .entry-content {
    max-width: 800px !important;
    margin: 0 auto !important;
}


/* ==========================================================================
   2. PRODUCT MAIN IMAGE EFFECT (FIXED CORNERS & NO HOVER JUMP)
   ========================================================================== */

/* 1. On annule nos bordures/ombres sur le rail, MAIS on le laisse libre de bouger (sliding) */
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
    border-radius: 0 !important;
    box-shadow: none !important;
    border: none !important;
    /* On ne bloque plus le 'transform' ici pour que la galerie puisse tourner ! */
}

/* 2. On applique l'effet Premium fixe sur la fenêtre visible (viewport) */
.woocommerce div.product div.images .flex-viewport {
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: 0 20px 40px -12px rgba(0,39,92,0.15) !important;
    border: 1px solid rgba(0,0,0,0.05) !important;
    background: var(--de-white); 
    margin-bottom: 20px !important; 
    /* L'effet de soulèvement (hover translateY) a été supprimé */
}

/* 3. On s'assure que l'image elle-même épouse bien la forme sans déborder */
.woocommerce div.product div.images .woocommerce-product-gallery__image img {
    border-radius: 16px !important;
    width: 100% !important;
    height: auto !important;
    display: block !important;
    margin: 0 !important;
}

/* 3. WOOCOMMERCE BASIC STRUCTURE */
.woocommerce div.product { max-width: 1240px; margin: 0 auto; padding: 0 20px; font-family: 'Inter', sans-serif; color: var(--de-text); }
.woocommerce div.product .product_title { font-size: clamp(32px, 4vw, 42px); font-weight: 900; color: var(--de-navy); letter-spacing: -0.5px; line-height: 1.2; margin-bottom: 15px; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--de-navy); font-size: 32px; font-weight: 800; margin-bottom: 25px; }
.woocommerce div.product p.price ins, .woocommerce div.product span.price ins { text-decoration: none; }

/* 4. ADD TO CART BUTTON & QTY */
.woocommerce div.product form.cart { margin: 30px 0; display: flex; gap: 15px; flex-wrap: wrap; align-items: center; border-top: 1px solid var(--de-border); border-bottom: 1px solid var(--de-border); padding: 30px 0; }
.woocommerce div.product form.cart .button { background-color: var(--de-navy) !important; color: var(--de-white) !important; border-radius: 6px !important; padding: 18px 35px !important; font-size: 15px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; transition: all 0.3s ease !important; border: none !important; box-shadow: 0 4px 6px -1px rgba(0, 39, 92, 0.1) !important; }
.woocommerce div.product form.cart .button:hover { background-color: var(--de-blue-accent) !important; transform: translateY(-3px) !important; box-shadow: 0 10px 20px -3px rgba(0, 123, 255, 0.25) !important; }
.woocommerce div.product form.cart div.quantity { margin: 0; }
.woocommerce div.product form.cart .qty { width: 80px; height: 54px; border-radius: 6px; border: 2px solid var(--de-border); text-align: center; font-size: 16px; font-weight: 600; color: var(--de-navy); }

/* 5. TABS STYLING */
.woocommerce div.product .woocommerce-tabs ul.tabs { border-bottom: 2px solid var(--de-border); margin: 60px 0 40px; padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border: none; background: transparent; border-radius: 0; margin: 0 30px 0 0; padding: 0 0 10px 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: var(--de-gray); font-weight: 700; font-size: 18px; padding: 0; transition: color 0.3s ease; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--de-navy); border-bottom: 3px solid var(--de-blue-accent); padding-bottom: 10px; }

/* 6. LONG DESCRIPTION CUSTOM LAYOUTS */
.de-product-trust-bar { display: flex; justify-content: center; flex-wrap: wrap; gap: 30px; background: var(--de-bg-light); padding: 30px; border-radius: 12px; border: 1px solid var(--de-border); margin-bottom: 50px; }
.de-product-trust-item { font-size: 14px; font-weight: 600; color: var(--de-navy); display: flex; align-items: center; gap: 10px; }
.de-product-trust-item i { color: var(--de-blue-accent); font-size: 18px; }

/* 2. SPECS GRID (4-in-a-row Layout) */
.de-product-specs-grid { 
    display: grid; 
    grid-template-columns: repeat(4, 1fr); /* Force 4 columns */
    gap: 20px; 
    margin-bottom: 60px; 
}
.de-product-specs-grid .de-card { padding: 30px 20px; }
.de-product-specs-grid .de-card-icon { width: 45px; height: 45px; font-size: 18px; margin-bottom: 15px; }

@media (max-width: 992px) {
    .de-product-specs-grid { grid-template-columns: repeat(2, 1fr); } /* 2x2 on tablets */
}
@media (max-width: 768px) {
    .de-product-trust-bar { flex-direction: column; align-items: flex-start; gap: 15px; }
    .de-product-specs-grid { grid-template-columns: 1fr; } /* Stacked on phones */
}

/* Centrage forcé du titre de la description WooCommerce */
.woocommerce-tabs .panel h2:first-child,
.woocommerce-tabs-panel h2 {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
    width: 100%;
    color: #0a2540 !important;
    font-family: "Source Sans Pro", sans-serif !important;
    font-weight: 900 !important;
    font-size: clamp(28px, 4vw, 42px) !important;
    letter-spacing: -1px !important;
    margin-bottom: 50px !important;
}

/* Masquage des onglets */
.woocommerce-tabs ul.tabs {
    display: none !important;
}

/* Nettoyage du panel */
.woocommerce div.product .woocommerce-tabs .panel {
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* Style des cartes de contenu */
.de-content-card {
    background: #fff;
    border: 1px solid #eef2f6;
    border-radius: 16px;
    padding: 35px;
    border-top: 5px solid #0a2540;
    box-shadow: 0 10px 30px rgba(0,39,92,0.04);
    text-align: center;
    display: flex;
    flex-direction: column;
    height: 100%;
}



/* Centrage du titre h2 de la description WooCommerce */
.woocommerce-tabs .panel h2 {
    text-align: center !important;
    color: #0a2540 !important;
    font-family: "Source Sans Pro", sans-serif !important;
    font-weight: 900 !important;
    font-size: clamp(28px, 4vw, 42px) !important;
    letter-spacing: -1px !important;
    margin-bottom: 45px !important;
    margin-top: 20px !important;
}

/* Masquage des onglets pour un défilement continu */
.woocommerce-tabs ul.tabs {
    display: none !important;
}

/* Suppression des bordures de panel par défaut */
.woocommerce div.product .woocommerce-tabs .panel {
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* Style uniforme des titres de cartes */
.de-premium-home h3 {
    color: #0a2540 !important;
    font-family: "Source Sans Pro", sans-serif !important;
    font-weight: 800 !important;
    font-size: 22px !important;
    margin-bottom: 15px !important;
    text-align: center;
}



/* ==========================================================================
   WOOCOMMERCE PRODUCT GALLERY THUMBNAILS (ON-BRAND)
   ========================================================================== */

/* 1. Conteneur des miniatures */
.woocommerce div.product div.images .flex-control-thumbs {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: space-between !important; /* Distribue l'espace uniformément */
    margin-top: 20px !important; 
    padding: 0 !important;
    list-style: none !important;
}

/* 2. Taille parfaite trouvée (5 images par rangée) */
.woocommerce div.product div.images .flex-control-thumbs li {
    width: 18.3% !important; /* VOTRE RÉGLAGE IDÉAL */
    margin: 0 0 10px 0 !important; 
    padding: 0 !important;
    float: none !important; /* Désactive le flottement natif de WooCommerce */
}

/* 3. Style Premium des images de miniature */
.woocommerce div.product div.images .flex-control-thumbs img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    border-radius: 8px !important; 
    border: 2px solid transparent !important; /* Bordure invisible par défaut pour éviter le saut */
    box-shadow: 0 4px 10px rgba(0, 39, 92, 0.08) !important;
    transition: all 0.3s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
    opacity: 0.7 !important; 
    cursor: pointer !important;
}

/* 4. Effet au survol (Hover) */
.woocommerce div.product div.images .flex-control-thumbs img:hover {
    border-color: var(--de-blue-accent, #007bff) !important;
    opacity: 1 !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 8px 15px rgba(0, 123, 255, 0.15) !important;
}

/* 5. Miniature active (celle sélectionnée) */
.woocommerce div.product div.images .flex-control-thumbs img.flex-active {
    border-color: var(--de-navy, #00275c) !important;
    opacity: 1 !important;
    box-shadow: 0 8px 20px rgba(0, 39, 92, 0.2) !important;
    transform: translateY(0) !important; 
}


/* Masquer la mention de catégorie sur un site mono-produit */
.woocommerce div.product .product_meta { 
    display: none !important; 
}

/* Empêcher le curseur de la souris de suggérer qu'on peut cliquer sur l'image principale */
.woocommerce div.product div.images .woocommerce-product-gallery__image a {
    cursor: default !important;
    pointer-events: none !important;
}

/* Empêcher le glisser-déposer (drag & drop) et la sélection des images WooCommerce */
.woocommerce div.product div.images img {
    -webkit-user-drag: none !important;
    -khtml-user-drag: none !important;
    -moz-user-drag: none !important;
    -o-user-drag: none !important;
    user-select: none !important;
    -moz-user-select: none !important;
    -webkit-user-select: none !important;
}


.tiered-pricing-blocks--style-3 .tiered-pricing-block-inner {
  padding: 15px 14px 5px 14px !important;
  border: 1px solid #e1eef4 !important; /* Le bleu pâle de vos cartes */
  border-radius: 8px !important;
  transition: transform 0.2s ease-in-out;
}
/* Masquer le premier bloc de prix (quantité 1) pour éviter la redondance */
.tiered-pricing-wrapper .tiered-pricing-block:first-child {
    display: none !important;
}



/* ==========================================================================
   GRILLES RESPONSIVES DE LA FICHE PRODUIT
   ========================================================================== */
.de-premium-home, .de-premium-home * {
    box-sizing: border-box;
}

/* Bureau : 6 colonnes et 3 colonnes */
.de-prod-grid-6 { 
    display: grid !important; 
    grid-template-columns: repeat(6, 1fr) !important; 
    gap: 15px; 
    margin-bottom: 40px; 
    width: 100%; 
}
.de-prod-grid-3 { 
    display: grid !important; 
    grid-template-columns: repeat(3, 1fr) !important; 
    gap: 25px; 
    margin-bottom: 25px; 
    width: 100%; 
}

/* Tablette : 3 colonnes en haut, 1 colonne en bas */
@media (max-width: 992px) {
    .de-prod-grid-6 { grid-template-columns: repeat(3, 1fr) !important; } 
    .de-prod-grid-3 { grid-template-columns: 1fr !important; gap: 20px !important; } 
}

/* Mobile : 2 colonnes en haut, 1 colonne en bas */
@media (max-width: 600px) {
    .de-prod-grid-6 { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; } 
    .de-prod-grid-3 .de-content-card { padding: 25px 20px !important; } 
}

/* ==========================================================================
   NETTOYAGE DES BORDURES STRIPE (CHECKOUT) - FORCE MAXIMALE
   ========================================================================== */

/* 1. Tuer la bordure du fieldset (le grand carré autour des infos bancaires) */
.woocommerce-checkout #payment .payment_box.payment_method_stripe fieldset {
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

/* 2. Tuer la bordure autour de la case d'enregistrement de carte */
.woocommerce-checkout #payment .payment_box.payment_method_stripe .woocommerce-SavedPaymentMethods-saveNew {
    border: 0 !important;
    padding: 15px 0 0 0 !important; /* Garde juste un peu d'espace au-dessus */
    margin: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

/* Optionnel : S'assurer que le titre "Carte bancaire" s'aligne bien sans la bordure */
.woocommerce-checkout #payment .payment_box.payment_method_stripe legend {
    padding: 0 !important;
    margin-bottom: 15px !important;
}



/* ==========================================================================
   MOBILE FIX: INDUSTRY TRUST BAR (7 ICONS)
   ========================================================================== */
@media (max-width: 768px) {
    /* Override the default single-column stack */
    .de-trust-grid.de-grid-7 {
        flex-direction: row !important; 
        flex-wrap: wrap;
        justify-content: center;
        gap: 30px 10px; /* 30px vertical gap, 10px horizontal gap */
    }
    
    /* 3 columns on standard mobile screens */
    .de-trust-grid.de-grid-7 .de-trust-item-icon {
        flex: 0 0 calc(33.333% - 10px); 
        max-width: calc(33.333% - 10px);
    }
}

@media (max-width: 480px) {
    /* 2 columns on very small phone screens */
    .de-trust-grid.de-grid-7 .de-trust-item-icon {
        flex: 0 0 calc(50% - 10px);
        max-width: calc(50% - 10px);
    }
}



/* =========================================================
   1. STRUCTURE GLOBALE DE LA PAGE PANIER
   ========================================================= */
body.woocommerce-cart .site-inner {
    padding-top: 140px !important; /* Dégage le menu fixe */
}

/* Forcer la zone de contenu à être très large et centrée */
body.woocommerce-cart .content-sidebar-wrap,
body.woocommerce-cart .content {
    width: 100% !important;
    max-width: 1100px !important;
    float: none !important;
    margin: 0 auto !important;
    display: block !important;
}
body.woocommerce-cart .sidebar-primary {
    display: none !important;
}

/* Cacher le titre "Panier" généré par défaut par le thème */
body.woocommerce-cart header.entry-header {
    display: none !important;
}

/* =========================================================
   2. MISE EN PAGE EMPILÉE (STACKED LAYOUT)
   ========================================================= */
.woocommerce-cart .woocommerce {
    display: block !important;
}

.woocommerce-cart .woocommerce-notices-wrapper {
    margin-bottom: 30px !important;
}

/* =========================================================
   3. SECTION 1 : TABLEAU DES PRODUITS (LARGE ET COMPACT)
   ========================================================= */
.woocommerce-cart .woocommerce-cart-form {
    width: 100% !important;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(0,39,92,0.04);
    border: 1px solid #e2e8f0;
    padding: 30px;
    margin-bottom: 40px !important;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table {
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    margin: 0 !important;
    width: 100% !important;
}

/* Entête du tableau (Fond Navy, hauteur réduite) */
.woocommerce-cart .woocommerce-cart-form table.shop_table thead th {
    background-color: #0a2540 !important;
    color: #fff !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    font-size: 13px !important;
    padding: 15px 20px !important;
    border: none !important;
    text-align: left;
}

/* Cellules du tableau (Padding resserré pour réduire la hauteur) */
.woocommerce-cart .woocommerce-cart-form table.shop_table tbody td {
    padding: 20px 15px !important;
    border-top: 1px solid #e2e8f0 !important;
    border-bottom: none !important;
    background: #fff !important;
    vertical-align: middle !important;
}

/* Bouton Supprimer (X) */
.woocommerce table.cart a.remove {
    color: #cf2e2e !important;
    font-weight: bold !important;
    font-size: 22px !important;
    line-height: 1 !important;
    text-decoration: none !important;
}

/* Image (Plus petite pour réduire la hauteur) et Titre du Produit */
.woocommerce table.cart .product-thumbnail img {
    border-radius: 8px !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.08) !important;
    width: 70px !important; 
}
.woocommerce table.cart .product-name a {
    color: #0a2540 !important;
    font-weight: 800 !important;
    font-size: 17px !important;
    text-decoration: none !important;
}

/* Sélecteur de Quantité */
.woocommerce .quantity .qty {
    width: 90px !important; 
    height: 45px !important;
    border: 2px solid #e2e8f0 !important;
    border-radius: 6px !important;
    padding: 5px 10px !important;
    font-weight: 700 !important;
    color: #0a2540 !important;
    font-size: 16px !important;
    text-align: center !important;
}

/* Zone Code Promo & Boutons */
.woocommerce-cart .actions {
    padding: 20px 0 0 0 !important;
    border-top: none !important;
}
.woocommerce-cart .actions .button {
    height: 45px !important;
    padding: 0 25px !important;
    background-color: #f8fafc !important;
    color: #0a2540 !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 6px !important;
    font-weight: 600 !important;
    transition: all 0.3s ease !important;
}
.woocommerce-cart .actions .button:hover {
    background-color: #e2e8f0 !important;
}

/* =========================================================
   4. SECTION 2 : SOMMAIRE DE COMMANDE (EN BAS À DROITE)
   ========================================================= */
/* Le conteneur parent pousse la boîte vers la droite */
.woocommerce-cart .cart-collaterals {
    width: 100% !important;
    display: flex !important;
    justify-content: flex-end !important;
    margin: 0 !important;
}

/* La boîte des totaux a une largeur max fixe */
.woocommerce-cart .cart-collaterals .cart_totals {
    width: 100% !important;
    max-width: 450px !important; /* Empêche de prendre toute la largeur */
    background: #f4f9ff !important;
    border: 1px solid #e1eef4 !important;
    border-top: 5px solid #007aff !important; 
    border-radius: 12px !important;
    padding: 35px 30px !important;
    box-shadow: 0 10px 30px rgba(0,39,92,0.04) !important;
    float: none !important;
}

.woocommerce-cart .cart-collaterals h2 {
    font-size: 22px !important;
    color: #0a2540 !important;
    font-weight: 900 !important;
    font-family: "Source Sans Pro", sans-serif !important;
    margin-bottom: 25px !important;
    border-bottom: 1px solid #e1eef4 !important;
    padding-bottom: 15px !important;
    text-align: left !important;
}

/* Nettoyage du tableau des totaux */
.woocommerce-cart .cart-collaterals table.shop_table,
.woocommerce-cart .cart-collaterals table.shop_table th,
.woocommerce-cart .cart-collaterals table.shop_table td {
    background-color: transparent !important;
    border: none !important;
}

.woocommerce-cart .cart-collaterals table.shop_table tr {
    border-bottom: 1px solid #e1eef4 !important;
}

.woocommerce-cart .cart-collaterals table.shop_table th {
    color: #64748b !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    text-align: left !important;
}

.woocommerce-cart .cart-collaterals table.shop_table td {
    text-align: right !important;
    font-weight: 800 !important;
    color: #0a2540 !important;
    font-size: 18px !important;
}

/* Textes descriptifs (livraison calculée) */
.woocommerce-cart .cart-collaterals table.shop_table td small, 
.woocommerce-cart .cart-collaterals table.shop_table td .woocommerce-shipping-destination {
    display: block !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #94a3b8 !important;
    margin-top: 5px !important;
    line-height: 1.4 !important;
}

/* BOUTON VALIDER LA COMMANDE (ON-BRAND) */
.woocommerce-cart .wc-proceed-to-checkout {
    padding-top: 25px !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    background-color: #0a2540 !important; /* Uniforme avec votre marque */
    color: #fff !important;
    border-radius: 8px !important;
    padding: 18px 25px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    box-shadow: 0 4px 10px rgba(0, 39, 92, 0.1) !important;
    transition: all 0.3s ease !important;
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    margin: 0 !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
    background-color: #007aff !important; /* Bleu au survol */
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 20px rgba(0, 122, 255, 0.2) !important;
}

/* =========================================================
   5. STYLE DES NOTIFICATIONS (BULLES)
   ========================================================= */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
    background: #f4f9ff !important;
    border-top: 4px solid #007aff !important;
    border-radius: 8px !important;
    color: #0a2540 !important;
    font-weight: 600 !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05) !important;
    padding: 20px 30px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}
.woocommerce-message .button, .woocommerce-info .button {
    background-color: #fff !important;
    color: #0a2540 !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 6px !important;
    padding: 10px 20px !important;
    font-weight: 700 !important;
}
/* =========================================================
   AJUSTEMENTS DE PRÉCISION (TABLEAU DES TOTAUX & TITRES)
   ========================================================= */

/* 2. Retirer l'énorme marge supérieure (40px) imposée par le thème aux titres */
.entry-content h2, 
.entry-content h3, 
.entry-content h4 {
    margin-top: 0 !important;
}

/* 3. Ajouter la marge inférieure (50px) à la boîte des totaux pour la décoller du bas */
.woocommerce .cart-collaterals .cart_totals, 
.woocommerce-page .cart-collaterals .cart_totals {
    margin-bottom: 50px !important;
}



/* =========================================================
   STYLE DES NOTIFICATIONS WOOCOMMERCE (CORRECTION DU CHECKMARK)
   ========================================================= */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
    background: #f4f9ff !important;
    border-top: 4px solid #007aff !important;
    border-radius: 8px !important;
    color: #0a2540 !important;
    font-weight: 600 !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05) !important;
    padding: 20px 30px 20px 60px !important; /* Laisse de l'espace à gauche pour l'icône */
    display: block !important; /* Retire le flexbox qui cassait l'icône */
    position: relative !important;
    width: 100% !important;
}

/* Positionnement absolu de l'icône (Checkmark) pour qu'elle ne touche plus le texte */
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before {
    position: absolute !important;
    left: 25px !important;
    top: 22px !important;
    color: #007aff !important;
}

/* Fix du bouton "Poursuivre les achats" pour qu'il flotte à droite */
.woocommerce-message .button, .woocommerce-info .button {
    float: right !important;
    margin-top: -8px !important;
    background-color: #fff !important;
    color: #0a2540 !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 6px !important;
    padding: 10px 20px !important;
    font-weight: 700 !important;
    text-transform: none !important;
}
.woocommerce-message::after, .woocommerce-info::after {
    content: "";
    display: table;
    clear: both;
}


/* =========================================================
   MISE EN PAGE DU BAS (ENCADRÉ CORPORATIF + TOTAL PANIER)
   ========================================================= */
.woocommerce-cart .cart-collaterals {
    width: 100% !important;
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 40px !important;
    margin: 0 !important;
}

/* Style de la nouvelle boîte corporative injectée en PHP (Gauche) */
.de-cart-trust-box {
    flex: 1 1 auto !important; /* Prend l'espace restant */
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 35px 30px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.02);
}

/* Style de la boîte des totaux (Droite) */
.woocommerce-cart .cart-collaterals .cart_totals {
    width: 100% !important;
    max-width: 420px !important; /* Bloque l'étirement excessif */
    flex: 0 0 420px !important;
    background: #f4f9ff !important;
    border: 1px solid #e1eef4 !important;
    border-top: 5px solid #007aff !important; 
    border-radius: 12px !important;
    padding: 35px 30px !important;
    box-shadow: 0 10px 30px rgba(0,39,92,0.04) !important;
    float: none !important;
}

/* =========================================================
   RESPONSIVITÉ MOBILE (EMPILEMENT PROPRE)
   ========================================================= */
@media (max-width: 991px) {
    .woocommerce-cart .cart-collaterals {
        flex-direction: column-reverse !important; /* Place le Total au-dessus de l'encadré sur mobile */
        gap: 30px !important;
    }
    .woocommerce-cart .cart-collaterals .cart_totals,
    .de-cart-trust-box {
        max-width: 100% !important;
        flex: 1 1 100% !important;
        width: 100% !important;
    }
}

/* =========================================================
   CORRECTION VISIBILITÉ EN-TÊTE (PANIER & CAISSE & shop)
   ========================================================= */

/* 1. Forcer le fond de l'en-tête en blanc solide avec une ombre */
body.woocommerce-cart .site-header,
body.woocommerce-checkout .site-header, 
body.woocommerce-shop .site-header, 
body.woocommerce-account .site-header {
    background-color: rgba(255, 255, 255, 0.98) !important;
    box-shadow: 0 4px 30px rgba(0, 39, 92, 0.06) !important;
}

/* 2. Forcer la couleur du texte du menu et du titre en Marine (Navy) */
body.woocommerce-cart .site-title a,
body.woocommerce-cart .genesis-nav-menu > li > a,
body.woocommerce-checkout .site-title a,
body.woocommerce-checkout .genesis-nav-menu > li > a,
body.woocommerce-shop .site-title a,
body.woocommerce-shop .genesis-nav-menu > li > a,
body.woocommerce-account .site-title a,
body.woocommerce-account .genesis-nav-menu > li > a{
    color: #0a2540 !important; 
}

/* 3. Retirer le filtre qui rendait le logo blanc */
body.woocommerce-cart .site-header .custom-logo,
body.woocommerce-checkout .site-header .custom-logo,
body.woocommerce-shop .site-header .custom-logo,
body.woocommerce-account .site-header .custom-logo {
    filter: none !important;
}

/* 4. Forcer la couleur du bouton menu mobile (Hamburger) en Marine */
body.woocommerce-cart .menu-toggle,
body.woocommerce-checkout .menu-toggle,
body.woocommerce-shop .menu-toggle, 
body.woocommerce-account .menu-toggle {
    color: #0a2540 !important;
    border-color: #0a2540 !important;
}

/* 5. Garder la ligne de survol du menu dans la bonne couleur (ORDINATEUR SEULEMENT) */
@media (min-width: 1076px) {
    body.woocommerce-cart .genesis-nav-menu > li > a::after,
    body.woocommerce-checkout .genesis-nav-menu > li > a::after,
    body.woocommerce-shop .genesis-nav-menu > li > a::after, 
    body.woocommerce-account .genesis-nav-menu > li > a::after {
        background-color: #0a2540 !important;
    }
}


/* =========================================================
   1. CORRECTION DE L'EN-TÊTE ET DU TITRE (CHECKOUT)
   ========================================================= */
body.woocommerce-checkout .site-inner {
    padding-top: 140px !important;
}

body.woocommerce-checkout .content {
    width: 100% !important;
    max-width: 1100px !important;
    float: none !important;
    margin: 0 auto !important;
    display: block !important;
}
body.woocommerce-checkout .sidebar-primary,
body.woocommerce-checkout header.entry-header {
    display: none !important;
}

body.woocommerce-checkout .entry-content > h1,
body.woocommerce-checkout .entry-content > h2:first-child,
body.woocommerce-checkout h2.wp-block-heading {
    text-align: center !important;
    color: #0a2540 !important;
    font-family: "Source Sans Pro", sans-serif !important;
    font-weight: 900 !important;
    font-size: 36px !important;
    margin-bottom: 40px !important;
    margin-top: 10px !important;
}

/* =========================================================
   2. FIX FOR THE INFO BUBBLE & PROMO CODE (CHECKMARK ICON)
   ========================================================= */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-error {
    background: #f4f9ff !important;
    border-top: 4px solid #007aff !important;
    border-radius: 8px !important;
    color: #0a2540 !important;
    font-weight: 600 !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05) !important;
    /* Increase left padding significantly to make room for the icon */
    padding: 20px 30px 20px 60px !important; 
    margin-bottom: 30px !important;
    display: block !important; /* Ensure it's not flex so the icon positions correctly */
    position: relative !important;
}

/* Position the icon absolutely to the left */
.woocommerce-checkout .woocommerce-info::before,
.woocommerce-checkout .woocommerce-message::before,
.woocommerce-checkout .woocommerce-error::before {
    position: absolute !important;
    left: 25px !important;
    top: 22px !important;
    color: #007aff !important;
}

.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a {
    color: #007aff !important;
    font-weight: 800 !important;
}

/* =========================================================
   3. SIDE-BY-SIDE LAYOUT (DESKTOP)
   ========================================================= */
@media (min-width: 992px) {
    /* Make the main checkout form a flex container */
    .woocommerce-checkout form.checkout {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: space-between !important;
        align-items: flex-start !important;
    }
    
    /* Left Column: Contains Billing and Shipping forms */
    .woocommerce-checkout #customer_details {
        width: 58% !important;
        flex: 0 0 58% !important; 
        float: none !important;
    }
    
    /* Ensure internal columns (billing vs shipping) stack vertically on the left */
    .woocommerce-checkout #customer_details .col-1,
    .woocommerce-checkout #customer_details .col-2 {
        width: 100% !important;
        float: none !important;
        margin-bottom: 40px !important;
    }

    /* Right Column: Order Review and Payment */
    .woocommerce-checkout #order_review_heading,
    .woocommerce-checkout #order_review {
        width: 38% !important;
        flex: 0 0 38% !important; 
        float: none !important;
        clear: none !important;
    }

    /* Move the heading above the order review box so it acts as one column */
    .woocommerce-checkout #order_review_heading {
        margin-bottom: 15px !important;
    }
}

/* =========================================================
   4. DESIGN DES TITRES DE SECTIONS
   ========================================================= */
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3,
.woocommerce-checkout #order_review_heading {
    color: #0a2540 !important;
    font-family: "Source Sans Pro", sans-serif !important;
    font-weight: 800 !important;
    font-size: 24px !important;
    border-bottom: 2px solid #e1eef4 !important;
    padding-bottom: 12px !important;
    margin-bottom: 25px !important;
    margin-top: 0 !important;
}

/* =========================================================
   5. DESIGN DU FORMULAIRE (CHAMPS DE SAISIE)
   ========================================================= */
.woocommerce-checkout form .form-row label {
    font-weight: 700 !important;
    color: #0a2540 !important;
    font-size: 14px !important;
    margin-bottom: 8px !important;
    display: block !important;
}

.woocommerce-checkout form .form-row label abbr.required {
    text-decoration: none !important;
    color: #007aff !important; 
}

.woocommerce-checkout form .form-row input.input-text,
.woocommerce-checkout form .form-row textarea,
.woocommerce-checkout form .form-row select {
    background-color: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    padding: 14px 18px !important;
    font-family: "Roboto", sans-serif !important;
    font-size: 15px !important;
    color: #334155 !important;
    width: 100% !important;
    transition: all 0.3s ease !important;
    box-shadow: none !important;
    height: auto !important;
}

.woocommerce-checkout form .form-row input.input-text:focus,
.woocommerce-checkout form .form-row textarea:focus,
.woocommerce-checkout form .form-row select:focus {
    background-color: #fff !important;
    border-color: #007aff !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(0, 122, 255, 0.1) !important;
}
/* =========================================================
   5. BANNIÈRE DE CODE PROMO (STYLE B2B)
   ========================================================= */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
    background: #f4f9ff !important;
    border-top: 4px solid #007aff !important;
    border-radius: 8px !important;
    color: #0a2540 !important;
    font-weight: 600 !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05) !important;
    padding: 20px 30px !important;
    margin-bottom: 30px !important;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a {
    color: #007aff !important;
    font-weight: 800 !important;
}
.woocommerce-checkout .woocommerce-form-coupon {
    background: #fff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    padding: 20px !important;
    margin-bottom: 30px !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.02) !important;
}
.woocommerce-checkout .woocommerce-form-coupon .button {
    background-color: #0a2540 !important;
    color: #fff !important;
    border-radius: 6px !important;
    padding: 12px 25px !important;
    font-weight: 700 !important;
}


/* =========================================================
   FIX: BULLE INFO & CODE PROMO (ICÔNE)
   ========================================================= */
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-error {
    background: #f4f9ff !important;
    border-top: 4px solid #007aff !important;
    border-radius: 8px !important;
    color: #0a2540 !important;
    font-weight: 600 !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05) !important;
    /* On augmente le padding à gauche (65px) pour libérer l'espace */
    padding: 20px 30px 20px 65px !important; 
    margin-bottom: 30px !important;
    position: relative !important;
    display: block !important; 
}

/* Positionnement absolu de l'icône (Checkmark/Info) à l'intérieur de l'espace libéré */
.woocommerce-checkout .woocommerce-info::before,
.woocommerce-checkout .woocommerce-message::before,
.woocommerce-checkout .woocommerce-error::before {
    position: absolute !important;
    left: 25px !important;
    top: 50% !important;
    transform: translateY(-50%) !important; /* Centre l'icône parfaitement à la verticale */
    color: #007aff !important;
    margin: 0 !important;
    font-size: 20px !important;
}

/* Lien pour cliquer sur le code promo */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a {
    color: #007aff !important;
    font-weight: 800 !important;
    margin-left: 5px !important;
}

/* =========================================================
   FIX: MISE EN PAGE CÔTE À CÔTE STRICTE (CSS GRID)
   ========================================================= */
@media (min-width: 992px) {
    /* On transforme le formulaire en une grille parfaite */
    .woocommerce-checkout form.checkout {
        display: grid !important;
        grid-template-columns: 55% 40% !important; /* 55% gauche, 40% droite */
        gap: 5% !important; /* Espace de 5% entre les deux */
        align-items: start !important;
    }
    
    /* Colonne de GAUCHE : Facturation et Livraison */
    .woocommerce-checkout #customer_details {
        grid-column: 1 !important;
        grid-row: 1 / span 2 !important; /* Prend toute la hauteur à gauche */
        width: 100% !important;
        float: none !important;
        margin: 0 !important;
    }
    
    /* S'assurer que les blocs internes de gauche s'empilent bien */
    .woocommerce-checkout #customer_details .col-1,
    .woocommerce-checkout #customer_details .col-2 {
        width: 100% !important;
        float: none !important;
        max-width: 100% !important;
    }

    /* Colonne de DROITE : Titre de la commande */
    .woocommerce-checkout #order_review_heading {
        grid-column: 2 !important;
        grid-row: 1 !important; /* Se place en haut à droite */
        width: 100% !important;
        margin-top: 0 !important;
        margin-bottom: 20px !important;
    }

    /* Colonne de DROITE : Tableau des totaux et Paiement */
    .woocommerce-checkout #order_review {
        grid-column: 2 !important;
        grid-row: 2 !important; /* Se place juste sous son titre à droite */
        width: 100% !important;
        float: none !important;
        margin: 0 !important;
    }
}

/* =========================================================
   ESPACEMENT GLOBAL DU BAS DE PAGE
   ========================================================= */
body.woocommerce-checkout .site-inner {
    padding-bottom: 100px !important; /* Ajoute un bel espace avant le footer */
}

/* =========================================================
   FIX: BULLE INFO & ICÔNE (CODE PROMO)
   ========================================================= */
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-error {
    background: #f4f9ff !important;
    border-top: 4px solid #007aff !important;
    border-radius: 8px !important;
    color: #0a2540 !important;
    font-weight: 600 !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05) !important;
    /* Un grand padding à gauche (65px) pour protéger l'espace de l'icône */
    padding: 22px 30px 22px 65px !important; 
    margin-bottom: 35px !important;
    position: relative !important;
    display: block !important; 
    text-align: left !important;
}

/* On fixe l'icône pour qu'elle ne bouge plus */
.woocommerce-checkout .woocommerce-info::before,
.woocommerce-checkout .woocommerce-message::before,
.woocommerce-checkout .woocommerce-error::before {
    position: absolute !important;
    left: 25px !important;
    top: 22px !important; /* On remplace le 50% par une valeur fixe */
    transform: none !important;
    color: #007aff !important;
    margin: 0 !important;
    font-size: 20px !important;
    line-height: 1 !important; /* Empêche l'icône de s'étirer verticalement */
}

/* =========================================================
   FIX: AJUSTEMENT DE LA LARGEUR DES COLONNES (CSS GRID)
   ========================================================= */
@media (min-width: 992px) {
    .woocommerce-checkout form.checkout {
        display: grid !important;
        /* Colonne gauche (50%), Colonne droite (43%), Espace central (7%) */
        grid-template-columns: 50% 43% !important; 
        gap: 7% !important; 
        align-items: start !important;
    }
    
    .woocommerce-checkout #customer_details {
        grid-column: 1 !important;
        grid-row: 1 / span 2 !important;
        width: 100% !important;
        float: none !important;
        margin: 0 !important;
    }
    
    .woocommerce-checkout #order_review_heading {
        grid-column: 2 !important;
        grid-row: 1 !important;
        width: 100% !important;
        margin-top: 0 !important;
        margin-bottom: 20px !important;
    }

    .woocommerce-checkout #order_review {
        grid-column: 2 !important;
        grid-row: 2 !important;
        width: 100% !important;
        float: none !important;
        margin: 0 !important;
    }
}


/* =========================================================
   1. FIX: COLONNES PRINCIPALES PLUS ÉTROITES (< 50%)
   ========================================================= */
@media (min-width: 992px) {
    .woocommerce-checkout form.checkout {
        display: grid !important;
        /* Colonne de gauche (46%), Colonne de droite (38%), Espace (16%) */
        grid-template-columns: 46% 38% !important; 
        justify-content: space-between !important;
        align-items: start !important;
    }
    
    .woocommerce-checkout #customer_details {
        grid-column: 1 !important;
        grid-row: 1 / span 2 !important;
        width: 100% !important;
        float: none !important;
        margin: 0 !important;
    }
    
    .woocommerce-checkout #order_review_heading {
        grid-column: 2 !important;
        grid-row: 1 !important;
        width: 100% !important;
        margin-top: 0 !important;
        margin-bottom: 20px !important;
    }

    .woocommerce-checkout #order_review {
        grid-column: 2 !important;
        grid-row: 2 !important;
        width: 100% !important;
        float: none !important;
        margin: 0 !important;
    }
}

/* =========================================================
   2. FIX: CHAMPS DE FORMULAIRE SUR DEUX COLONNES
   ========================================================= */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important; /* Force 2 colonnes égales */
    column-gap: 20px !important;
    row-gap: 20px !important;
}

/* Par défaut, tous les champs prennent toute la largeur (2 colonnes) */
.woocommerce-checkout .form-row {
    grid-column: span 2 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
}

/* Les champs natifs WooCommerce "first" et "last" prennent 1 colonne */
.woocommerce-checkout .form-row-first { grid-column: 1 !important; }
.woocommerce-checkout .form-row-last { grid-column: 2 !important; }

/* Forcer manuellement certains champs à se placer côte à côte pour un look B2B compact */
.woocommerce-checkout #billing_city_field { grid-column: 1 !important; }
.woocommerce-checkout #billing_state_field { grid-column: 2 !important; }
.woocommerce-checkout #billing_postcode_field { grid-column: 1 !important; }
.woocommerce-checkout #billing_phone_field { grid-column: 2 !important; }
.woocommerce-checkout #billing_email_field { grid-column: span 2 !important; } /* L'email reste sur toute la largeur */

/* Pour l'adresse de livraison (si cochée) */
.woocommerce-checkout #shipping_city_field { grid-column: 1 !important; }
.woocommerce-checkout #shipping_state_field { grid-column: 2 !important; }
.woocommerce-checkout #shipping_postcode_field { grid-column: 1 !important; }

/* =========================================================
   3. DESIGN PREMIUM DES CHAMPS DE SAISIE
   ========================================================= */
/* Étiquettes (Labels) plus nettes */
.woocommerce-checkout form .form-row label {
    font-weight: 700 !important;
    color: #0a2540 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin-bottom: 8px !important;
    display: block !important;
}

/* L'astérisque rouge devient bleu discret */
.woocommerce-checkout form .form-row label abbr.required {
    text-decoration: none !important;
    color: #007aff !important; 
    border: none !important;
}

/* Look "Tableau de bord" pour les champs de texte et sélecteurs */
.woocommerce-checkout form .form-row input.input-text,
.woocommerce-checkout form .form-row textarea,
.woocommerce-checkout form .form-row select {
    background-color: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    padding: 15px 18px !important; /* Plus d'espace interne */
    font-family: "Roboto", sans-serif !important;
    font-size: 15px !important;
    color: #0a2540 !important;
    font-weight: 500 !important;
    width: 100% !important;
    height: auto !important;
    transition: all 0.3s ease !important;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.02) !important; /* Légère profondeur */
}

/* Effet très propre lorsqu'on clique dans un champ (Focus) */
.woocommerce-checkout form .form-row input.input-text:focus,
.woocommerce-checkout form .form-row textarea:focus,
.woocommerce-checkout form .form-row select:focus {
    background-color: #ffffff !important;
    border-color: #007aff !important;
    outline: none !important;
    box-shadow: 0 0 0 4px rgba(0, 122, 255, 0.1) !important; /* Lueur bleue B2B */
}

/* Ajustement spécifique pour les listes déroulantes (Pays/Province) */
.woocommerce-checkout form .form-row select {
    appearance: none !important; /* Enlève la flèche par défaut laide de Windows/Mac */
    background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%230a2540%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 15px top 50% !important;
    background-size: 12px auto !important;
    padding-right: 40px !important; /* Laisse de la place pour la nouvelle flèche */
}

/* =========================================================
   1. FIX: COLONNES SYMÉTRIQUES (~50% CHAQUE)
   ========================================================= */
@media (min-width: 992px) {
    .woocommerce-checkout form.checkout {
        display: grid !important;
        /* Colonne gauche (48%), Colonne droite (48%), Espace (4%) */
        grid-template-columns: 48% 48% !important; 
        gap: 4% !important; 
        align-items: start !important;
    }
}

/* =========================================================
   2. FIX: ICÔNE ET TEXTE DE LA BULLE PROMO
   ========================================================= */
/* On cible la classe ultra-spécifique du code promo pour forcer le padding */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-error {
    position: relative !important;
    /* On force 65px d'espace à gauche pour pousser le texte */
    padding: 22px 30px 22px 65px !important; 
    display: block !important;
    text-align: left !important;
}

/* On verrouille l'icône dans l'espace de 65px qu'on vient de créer */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before,
.woocommerce-checkout .woocommerce-info::before,
.woocommerce-checkout .woocommerce-message::before,
.woocommerce-checkout .woocommerce-error::before {
    position: absolute !important;
    left: 25px !important;
    top: 22px !important;
    color: #007aff !important;
    font-size: 20px !important;
    margin: 0 !important;
    transform: none !important;
    line-height: 1 !important;
}

/* =========================================================
   FIX: CHEVAUCHEMENT DU FOOTER (CHECKOUT)
   ========================================================= */

/* 1. Ajoute une marge solide en bas du formulaire entier */
.woocommerce-checkout form.checkout {
    margin-bottom: 120px !important;
}

/* 2. S'assure que le bloc de paiement à droite a aussi de l'espace pour respirer */
.woocommerce-checkout #order_review {
    padding-bottom: 20px !important;
    margin-bottom: 80px !important;
}

/* 3. Force le conteneur principal du thème à s'étirer jusqu'en bas */
body.woocommerce-checkout .site-inner {
    padding-bottom: 100px !important;
    overflow: visible !important;
}

/* 4. Nettoie les éléments flottants pour forcer le thème à calculer la bonne hauteur */
body.woocommerce-checkout .site-inner::after,
.woocommerce-checkout form.checkout::after {
    content: "";
    display: table;
    clear: both;
}


/* =========================================================
   1. FIX: POSITIONNEMENT DE LA BOÎTE D'ERREURS (ALERTS)
   ========================================================= */
/* On force le groupe de notifications à prendre toute la largeur en haut */
.woocommerce-checkout form.checkout .woocommerce-NoticeGroup {
    grid-column: 1 / span 2 !important; 
    grid-row: 1 !important; /* Ligne 1 */
    width: 100% !important;
    margin-bottom: 30px !important;
    align-self: start !important;
}

/* On décale les autres éléments vers le bas (Lignes 2 et 3) */
@media (min-width: 992px) {
    .woocommerce-checkout #customer_details {
        grid-row: 2 / span 2 !important; /* Lignes 2 et 3 à gauche */
    }
    .woocommerce-checkout #order_review_heading {
        grid-row: 2 !important; /* Ligne 2 à droite */
    }
    .woocommerce-checkout #order_review {
        grid-row: 3 !important; /* Ligne 3 à droite */
    }
}

/* =========================================================
   2. FIX: DESIGN DE LA BOÎTE D'ERREUR ET DE SON ICÔNE
   ========================================================= */
.woocommerce-checkout .woocommerce-error {
    background: #fffafa !important;
    border: 1px solid #ffe2e2 !important;
    border-top: 4px solid #cf2e2e !important; /* Ligne rouge d'erreur */
    border-radius: 8px !important;
    color: #cf2e2e !important;
    font-weight: 600 !important;
    box-shadow: 0 4px 15px rgba(207, 46, 46, 0.08) !important;
    padding: 22px 30px 22px 65px !important; /* Espace pour l'icône */
    position: relative !important;
    display: block !important;
    margin: 0 !important;
    list-style: none !important;
}

/* L'icône d'erreur figée à gauche */
.woocommerce-checkout .woocommerce-error::before {
    position: absolute !important;
    left: 25px !important;
    top: 25px !important;
    color: #cf2e2e !important;
    font-size: 20px !important;
    line-height: 1 !important;
    margin: 0 !important;
    transform: none !important;
}

.woocommerce-checkout .woocommerce-error li {
    margin-bottom: 8px !important;
    font-size: 14.5px !important;
}
.woocommerce-checkout .woocommerce-error li:last-child {
    margin-bottom: 0 !important;
}

/* =========================================================
   3. FIX DEFINITIF: CHEVAUCHEMENT DU FOOTER
   ========================================================= */
/* On ajoute un énorme coussin invisible à l'intérieur et en dessous du formulaire */
.woocommerce-checkout form.checkout {
    padding-bottom: 80px !important;
    margin-bottom: 80px !important;
}

/* On donne de l'air au bouton "Commander" dans sa propre boîte */
.woocommerce-checkout #order_review {
    padding-bottom: 40px !important;
}



/* 1. Cacher les éléments inutiles de WooCommerce (tri et compteur) */
.woocommerce-shop .woocommerce-result-count,
.woocommerce-shop .woocommerce-ordering {
    display: none !important;
}

/* 2. Centrer le titre de la page */
.woocommerce-shop .woocommerce-products-header__title {
    text-align: center;
    color: #00275c;
    font-size: 38px;
    font-weight: 900;
    margin-bottom: 50px;
}

/* 3. Modifier la grille pour centrer l'unique produit */
.woocommerce-shop ul.products {
    display: flex;
    justify-content: center;
}

/* 4. Créer une carte produit élégante et large */
.woocommerce-shop ul.products li.product {
    width: 100% !important;
    max-width: 500px !important; /* Largeur max de la carte */
    float: none !important;
    margin: 0 auto 40px auto !important;
    background: #ffffff;
    /*border-radius: 8px;*/
    /*box-shadow: 0 10px 30px rgba(0,39,92,0.08); /* Ombre bleutée légère */
    padding: 30px;
    text-align: center;
    /*border: 1px solid #f0f0f0;*/
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Effet de survol sur la carte */
.woocommerce-shop ul.products li.product:hover {
    transform: translateY(-5px);
    /*box-shadow: 0 15px 40px rgba(0,39,92,0.15);*/
}

/* 5. Styliser l'image du produit */
.woocommerce-shop ul.products li.product img {
    border-radius: 4px;
    margin-bottom: 25px;
    width: 100%;
    height: auto;
}

/* 6. Styliser le titre du produit */
.woocommerce-shop ul.products li.product .woocommerce-loop-product__title {
    font-size: 28px;
    color: #00275c;
    font-weight: 700;
    margin-bottom: 15px;
}

/* 7. Styliser le prix */
.woocommerce-shop ul.products li.product .price {
    font-size: 26px;
    color: #00275c;
    margin-bottom: 30px;
    display: block;
    font-weight: bold;
}

/* 8. Transformer le bouton Ajouter au panier en un bouton d'action massif */
.woocommerce-shop ul.products li.product .button {
    background-color: #00275c !important;
    color: #ffffff !important;
    border-radius: 4px;
    padding: 18px 30px !important;
    font-size: 18px !important;
    font-weight: bold !important;
    display: block !important;
    width: 100% !important;
    text-transform: uppercase;
    transition: background-color 0.3s ease !important;
}

.woocommerce-shop ul.products li.product .button:hover {
    background-color: #143b70 !important; /* Bleu légèrement plus clair au survol */
}



/* ==========================================================================
   CORRECTIFS DE MISE EN PAGE BOUTIQUE
   ========================================================================== */


/* 2. ESPACEMENT DU CONTENU */
/* Ajoute de l'espace au-dessus du titre "Boutique" pour qu'il ne colle pas à l'en-tête */
.woocommerce-shop .site-inner {
    padding-top: 140px !important; /* Ajustez cette valeur si vous voulez plus ou moins d'espace */
}

/* 3. CORRECTION DE L'ARRIÈRE-PLAN DU PRIX */
/* Assure que la zone de prix et son conteneur sont bien blancs pour se fondre dans la carte */
.woocommerce-shop ul.products li.product .price,
.woocommerce-shop ul.products li.product .tiered-pricing-dynamic-price-wrapper,
.woocommerce-shop ul.products li.product span.woocommerce-Price-amount {
    background-color: transparent !important; /* Supprime tout fond gris parasite */
    background: transparent !important;
    box-shadow: none !important; /* Supprime les ombres internes potentielles */
    border: none !important; /* Supprime les bordures potentielles */
}

/* Optionnel : Si un léger fond gris persiste autour du bloc prix complet */
.woocommerce-shop ul.products li.product .de-pricing-area {
     background-color: #ffffff !important;
     border: none !important;
}





/* ==========================================================================
   DESIGN DE LA PAGE "MON COMPTE" WOOCOMMERCE
   ========================================================================== */

.woocommerce-account .site-inner {
    padding-top: 120px !important;
}

/* Cacher le titre de la page par défaut (on va utiliser l'espace pour le tableau de bord) */
.woocommerce-account .woocommerce-products-header__title,
.woocommerce-account .entry-header {
    text-align: center;
    margin-bottom: 40px;
}
.woocommerce-account .entry-title {
    color: #00275c;
    font-weight: 900;
}

/* 2. DISPOSITION GÉNÉRALE EN DEUX COLONNES (Tableau de bord) */
@media (min-width: 769px) {
    .woocommerce-account .woocommerce {
        display: flex;
        gap: 40px;
        align-items: flex-start;
    }
    /* Largeur de la barre de navigation latérale */
    .woocommerce-MyAccount-navigation {
        flex: 0 0 280px; 
    }
    /* L'espace de contenu prend le reste de la largeur */
    .woocommerce-MyAccount-content {
        flex: 1;
        width: 100%;
    }
}

/* 3. STYLE DU MENU DE NAVIGATION (Menu de gauche) */
.woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 5px 20px rgba(0,39,92,0.05); /* Ombre douce */
    overflow: hidden;
    border: 1px solid #f0f0f0;
}

.woocommerce-MyAccount-navigation ul li {
    border-bottom: 1px solid #f0f0f0;
    margin: 0 !important;
}
.woocommerce-MyAccount-navigation ul li:last-child {
    border-bottom: none;
}

/* Style des liens du menu */
.woocommerce-MyAccount-navigation ul li a {
    display: block;
    padding: 16px 20px;
    color: #444444;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
}

/* Effet au survol et pour l'onglet Actif */
.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a:hover {
    background-color: #00275c;
    color: #ffffff;
    padding-left: 28px; /* Léger décalage dynamique du texte */
}

/* 4. STYLE DE LA ZONE DE CONTENU (La carte principale) */
.woocommerce-MyAccount-content {
    background: #ffffff;
    border-radius: 8px;
    padding: 40px;
    box-shadow: 0 5px 20px rgba(0,39,92,0.05);
    border: 1px solid #f0f0f0;
}

.woocommerce-MyAccount-content h2, 
.woocommerce-MyAccount-content h3 {
    color: #00275c;
    margin-bottom: 25px;
    font-weight: 700;
}

.woocommerce-MyAccount-content p {
    color: #555555;
    line-height: 1.6;
}

/* Liens textuels dans le contenu */
.woocommerce-MyAccount-content a {
    color: #00275c;
    font-weight: 600;
    text-decoration: underline;
}
.woocommerce-MyAccount-content a:hover {
    color: #143b70;
}

/* 5. DESIGN DES CARTES D'ADRESSES ET COMMANDES */
.woocommerce-Address {
    background: #fdfdfd;
    padding: 25px;
    border-radius: 8px;
    border: 1px solid #eaeaea;
    margin-bottom: 20px;
}
.woocommerce-Address-title h3 {
    margin-bottom: 15px;
    font-size: 22px;
}

/* 6. STYLE DES BOUTONS DU COMPTE (Modifier, Télécharger, etc.) */
.woocommerce-MyAccount-content .button {
    background-color: #00275c !important;
    color: #ffffff !important;
    border-radius: 4px !important;
    padding: 12px 24px !important;
    font-weight: 600 !important;
    text-transform: none !important;
    text-decoration: none !important;
    transition: background-color 0.3s ease, transform 0.2s ease !important;
    display: inline-block;
}

.woocommerce-MyAccount-content .button:hover {
    background-color: #143b70 !important;
    transform: translateY(-2px);
}

/* 7. RESPONSIVE (Tablettes et Mobiles) */
@media (max-width: 768px) {
    .woocommerce-MyAccount-navigation {
        margin-bottom: 30px;
    }
    .woocommerce-MyAccount-content {
        padding: 20px;
    }
}






/* authority-woocommerce.css | https://dossieremploye.ca/wp-content/themes/authority-pro/lib/woocommerce/authority-woocommerce.css?ver=1.5.2 */

.woocommerce-MyAccount-navigation ul li.is-active > a {
  color: #fff !important;
}






/* ==========================================================================
   MATRICE DES PRIX EXTENSIBLE (ACCORDÉON STYLISÉ)
   ========================================================================== */
.de-pricing-matrix-section { 
    width: 100%; 
    max-width: 1000px;
    margin: 80px auto 0;
    position: relative; 
    z-index: 5; 
    text-align: center;
}

/* 1. État fermé : La boîte globale est invisible, seul le bouton flotte */
.de-expanded-tiers { 
    background: transparent; 
    border-radius: 16px;
    overflow: visible !important; 
    box-shadow: none; 
    border: 1px solid transparent; /* Bordure transparente pour éviter un "saut" de 1px à l'ouverture */
    transition: all 0.3s ease; 
}

/* 2. État ouvert : La boîte redevient blanche avec sa bordure et son ombre */
.de-expanded-tiers[open] {
    background: var(--de-white);
    border: 1px solid var(--de-border);
    box-shadow: 0 15px 40px rgba(0,39,92,0.06);
}


/* --- Bouton "Voir la grille" centré et stylisé --- */
.de-styled-summary { 
    display: inline-flex; 
    align-items: center; 
    justify-content: center;
    gap: 15px;
    padding: 14px 30px; 
    background-color: var(--de-bg-light); 
    color: var(--de-navy); 
    font-weight: 700; 
    font-size: 15px; 
    cursor: pointer; 
    list-style: none; 
    border: 1px solid var(--de-border);
    border-radius: 50px; /* Pill shape */
    margin: 0 auto 30px; /* Centré horizontalement avec marge en bas */
    transition: all 0.3s ease;
    position: relative;
    top: -25px; /* Remonte le bouton pour chevaucher la section */
    background: var(--de-white); /* Fond blanc pour le bouton */
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}
.de-styled-summary::-webkit-details-marker { display: none; }
.de-styled-summary:hover { 
    border-color: var(--de-blue-accent); 
    color: var(--de-blue-accent);
    box-shadow: 0 8px 20px rgba(0,123,255,0.15);
    transform: translateY(-2px);
}
.de-expanded-tiers[open] .de-styled-summary {
    background-color: var(--de-bg-light);
    border-color: var(--de-border);
    color: var(--de-navy);
    box-shadow: none;
    transform: none;
    margin-bottom: 0; /* Enlève la marge quand ouvert */
    border-radius: 16px 16px 0 0; /* Coins carrés en bas quand ouvert */
    width: 100%; /* Prend toute la largeur quand ouvert */
    top: 0; /* Réinitialise la position */
}
.summary-content { display: flex; align-items: center; gap: 10px; }
.summary-content i { font-size: 16px; color: var(--de-blue-accent); }
.summary-icon { 
    transition: transform 0.3s ease; 
    color: var(--de-blue-accent); 
    font-size: 14px;
}
.de-expanded-tiers[open] .summary-icon { transform: rotate(180deg); }

/* --- Contenu du tableau --- */
.de-details-content { 
    padding: 0 30px 30px; 
    border-top: 1px solid var(--de-border);
    display: none; /* Caché par défaut pour l'animation */
}
.de-expanded-tiers[open] .de-details-content {
    display: block; /* Affiché quand ouvert */
    animation: slideDown 0.3s ease-out;
}
@keyframes slideDown {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

.de-table-responsive { overflow-x: auto; }
.de-matrix-table { 
    width: 100%; 
    border-collapse: separate; 
    border-spacing: 0;
    text-align: center; 
    min-width: 800px; 
    margin-bottom: 0;
    font-size: 14px;
}
.de-matrix-table th, .de-matrix-table td {
    padding: 12px 15px;
    border-bottom: 1px solid var(--de-border);
    border-right: 1px solid var(--de-border);
}
.de-matrix-table th:first-child, .de-matrix-table td:first-child { border-left: 1px solid var(--de-border); }
.de-matrix-table tr:last-child td { border-bottom: none; }

/* --- En-têtes colorés --- */
.de-matrix-table th { 
    background-color: var(--de-bg-light); 
    color: var(--de-navy); 
    font-weight: 800; 
    text-transform: uppercase; 
    font-size: 13px;
    letter-spacing: 0.5px;
    border-top: none;
}
.de-matrix-table th.th-pilote { color: #64748b; }
.de-matrix-table th.th-signature { color: var(--de-blue-accent); }
.de-matrix-table th.th-surmesure { color: var(--de-navy); }
.de-matrix-table th.th-alliance { color: #112337; }

/* --- Colonnes colorées subtilement --- */
/* Colonne 1 & 2 (Quantité & Livraison) : Neutre */
.de-matrix-table td:nth-child(1), .de-matrix-table td:nth-child(2) { 
    background-color: var(--de-white); font-weight: 600; color: var(--de-navy);
}
/* Colonne 3 (Pilote) : Gris/Bleu très pâle */
.de-matrix-table td:nth-child(3) { background-color: #f8fafc; color: #64748b; }
/* Colonne 4 (Signature) : Bleu très pâle */
.de-matrix-table td:nth-child(4) { background-color: #f0f7ff; color: var(--de-blue-accent); }
/* Colonne 5 (Sur Mesure) : Marine très pâle */
.de-matrix-table td:nth-child(5) { background-color: #eef2f6; color: var(--de-navy); }
/* Colonne 6 (Alliance) : Foncé très pâle */
.de-matrix-table td:nth-child(6) { background-color: #e8ebee; color: #112337; }

.de-matrix-table td strong { font-weight: 800; }
.de-na { color: #cbd5e1 !important; font-weight: 400 !important; }

/* --- Ligne de surbrillance (10 000+) --- */
.de-highlight-row td { 
    background-color: #e0f0ff !important; /* Bleu plus soutenu */
    color: var(--de-navy) !important; 
    font-weight: 800 !important;
    border-bottom: none !important;
}
.de-highlight-row td small { color: var(--de-blue-accent); font-weight: 800; font-size: 11px; text-transform: uppercase;}



/* =========================================
   RÉDUIRE L'ESPACE ENTRE LES LIENS DU PIED DE PAGE
========================================= */

/* Retirer les marges par défaut des listes (ul) et réduire l'espace entre chaque ligne (li) */
.de-footer-links ul,
.de-footer-contact ul {
    list-style: none; /* Enlève les puces si elles sont présentes */
    padding: 0;
    margin: 0;
}

.de-footer-links ul li,
.de-footer-contact ul li {
    margin-bottom: 6px; /* Ajustez ce chiffre : 4px pour très serré, 10px pour plus aéré */
}

/* Enlever la marge du dernier lien pour que le bloc soit bien aligné */
.de-footer-links ul li:last-child,
.de-footer-contact ul li:last-child {
    margin-bottom: 0;
}

/* Réduire l'espace horizontal entre les 3 liens légaux tout au bas */
.de-footer-legal {
    display: flex;
    flex-wrap: wrap; /* Permet aux liens de passer à la ligne sur mobile */
    gap: 15px; /* Ajustez ce chiffre : 10px pour rapprocher, 20px pour éloigner */
    justify-content: center; /* Centre les liens, optionnel */
}

/* Optionnel : Ajuster la taille du texte des liens pour que tout soit bien proportionné */
.de-footer-links ul li a,
.de-footer-contact ul li a {
    font-size: 15px;
    color: inherit; /* Garde la couleur de votre texte de footer */
    text-decoration: none;
}



/* =========================================
   PAGE "MON COMPTE" - DESIGN ÉPURÉ (FOND BLANC)
========================================= */

/* 1. Cacher les anciens titres */
/*
body.woocommerce-account .site-inner .entry-header,
body.woocommerce-account h2 {
    display: none !important;
}*/
/* 1. Centrer UNIQUEMENT le formulaire de connexion (sans briser le tableau de bord) */
body.woocommerce-account .woocommerce #customer_login {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    margin: 0 auto;
    padding-bottom: 60px;
}

/* =========================================
   2. LE MENU DE GAUCHE (TABLEAU DE BORD)
========================================= */

/* Retirer l'espacement par défaut */
.woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Ligne de séparation entre les liens */
.woocommerce-MyAccount-navigation ul li {
    padding: 0 !important;
    margin: 0 !important;
    border-bottom: 1px solid #e5e7eb;
	width: 100%;
}

/* Étendre le lien pour qu'il remplisse tout l'espace (La correction parfaite) */
.woocommerce-MyAccount-navigation ul li a {
    display: block !important; /* Force le remplissage d'un bord à l'autre */
    width: 100%;
    padding: 12px 15px !important;
    text-align: left; /* Garde le texte aligné à gauche comme avant */
    color: var(--de-navy, #00275c) !important;
    font-weight: 600;
    text-decoration: none;
    box-sizing: border-box;
    transition: background-color 0.2s ease, color 0.2s ease;
}

/* Effet au survol (Hover) et État Actif (Remplissage complet) */
.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a:hover {
    background-color: var(--de-navy, #00275c) !important;
    color: #ffffff !important;
}

/* 3. Limiter la largeur de la carte */
.woocommerce .u-column1.col-1,
.woocommerce .u-column2.col-2,
.woocommerce form.woocommerce-form-login {
    width: 100% !important;
    max-width: 450px !important;
    float: none !important;
}

/* 4. La Carte principale (Fond 100% blanc) */
.woocommerce form.woocommerce-form-login {
    background: #ffffff;
    padding: 40px; /* On remet un espacement égal partout */
    border-radius: 10px;
    box-shadow: 0 15px 35px rgba(0, 39, 92, 0.12);
    border: 1px solid #e5e7eb;
    border-top: 5px solid var(--de-navy, #00275c); /* Fine ligne d'accentuation en haut */
    margin: 0 auto;
    display: flex;
    flex-direction: column;
}

/* 5. Ajouter le logo en haut du formulaire */
.woocommerce form.woocommerce-form-login::before {
    content: "";
    display: block;
    width: 100%;
    height: 100px; /* Votre modification pour plus d'espace */
    background-image: url('/wp-content/uploads/2026/02/cropped-le-dossier-employe-logo-5.png');
    background-size: 320px auto; /* Votre modification pour un logo plus grand */
    background-repeat: no-repeat;
    background-position: center top;
    margin-bottom: 25px; /* Espace entre le logo et le premier champ */
}

/* 6. Étiquettes (Labels) */
.woocommerce form .form-row label {
    font-weight: 700;
    color: #374151;
    display: block;
    margin-bottom: 8px;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* 7. Champs de saisie */
.woocommerce form .form-row input.input-text {
    width: 100%;
    padding: 14px 15px;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-size: 16px;
    transition: all 0.3s ease;
    background-color: #f9fafb;
    margin-bottom: 10px;
}

.woocommerce form .form-row input.input-text:focus {
    background-color: #ffffff;
    border-color: var(--de-navy, #00275c);
    outline: none;
    box-shadow: 0 0 0 3px rgba(0, 39, 92, 0.15);
}

/* 8. Bouton "Se connecter" */
.woocommerce form button.woocommerce-button {
    width: 100%;
    background-color: var(--de-navy, #00275c) !important;
    color: #ffffff !important;
    padding: 16px;
    font-size: 16px;
    font-weight: 700;
    border-radius: 6px;
    border: none;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-top: 15px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.woocommerce form button.woocommerce-button:hover {
    background-color: #143b70 !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 39, 92, 0.25);
}

/* 9. Liens secondaires */
.woocommerce-form-login__rememberme {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 5px;
    font-size: 14px;
    font-weight: 400 !important;
    text-transform: none !important;
}

.woocommerce form .woocommerce-LostPassword {
    text-align: center;
    margin-top: 25px;
    order: 99;
}

.woocommerce form .woocommerce-LostPassword a {
    color: #6b7280;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    transition: color 0.2s ease;
}

.woocommerce form .woocommerce-LostPassword a:hover {
    color: var(--de-navy, #00275c);
    text-decoration: underline;
}

/* Espacement sous le menu principal */
body.woocommerce-account .site-inner {
    padding-top: 140px !important;
}



/* =========================================
   TITRES DYNAMIQUES DU TABLEAU DE BORD
========================================= */
h2.de-account-title {
    display: block !important;
    font-size: 24px !important;
    font-weight: 800;
    color: var(--de-navy, #00275c);
    margin-top: 0;
    margin-bottom: 25px;
    padding-bottom: 15px;
    border-bottom: 2px solid #e5e7eb;
    letter-spacing: -0.5px;
}





/* =========================================
   BOÎTE VIP SUR LE TABLEAU DE BORD (COMPTE)
========================================= */
.de-dashboard-vip-box {
    background: linear-gradient(135deg, #f4f9ff 0%, #ffffff 100%);
    border: 1px solid #e1eef4;
    border-left: 5px solid var(--de-blue-accent, #007bff);
    border-radius: 12px;
    padding: 30px;
    margin: 35px 0;
    display: flex;
    align-items: flex-start;
    gap: 20px;
    box-shadow: 0 10px 30px rgba(0, 39, 92, 0.05);
}

.de-vip-icon {
    background: var(--de-navy, #00275c);
    color: #ffffff;
    width: 45px;
    height: 45px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    flex-shrink: 0;
}

.de-vip-content h3 {
    color: var(--de-navy, #00275c);
    font-size: 20px !important;
    font-weight: 800;
    margin-top: 0;
    margin-bottom: 8px !important;
    letter-spacing: -0.5px;
}

.de-vip-content p {
    font-size: 15px;
    color: #64748b;
    margin-bottom: 20px !important;
    line-height: 1.5;
}

a.de-btn-vip {
    display: inline-block;
    background-color: var(--de-navy, #00275c);
    color: #ffffff !important;
    padding: 12px 24px;
    border-radius: 6px;
    font-weight: 700;
    text-decoration: none !important;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 10px rgba(0, 39, 92, 0.15);
}

a.de-btn-vip:hover {
    background-color: var(--de-blue-accent, #007bff);
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 123, 255, 0.25);
}

/* Sur mobile, on empile les éléments */
@media (max-width: 600px) {
    .de-dashboard-vip-box {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
}














/* Media Queries
---------------------------------------------------------------------------- */

@media only screen and (max-width: 1360px) {

	.site-inner,
	.wrap {
		max-width: 1140px;
	}

	.content {
		width: 800px;
	}

	.sidebar-primary {
		width: 300px;
	}

	.site-header .nav-primary {
		max-width: 800px;
	}

}


@media only screen and (max-width: 1250px) {

	.site-inner,
	.wrap {
		max-width: 960px;
	}

	.content {
		width: 620px;
	}

	.site-header .nav-primary {
		max-width: 620px;
	}

	.author-box .avatar {
		margin-left: -60px;
	}

}

@media only screen and (max-width: 1075px) {

	.site-inner,
	.wrap {
		max-width: 800px;
	}

	.content,
	.content-sidebar .content,
	.sidebar-content .content,
	.genesis-responsive-menu .genesis-nav-menu .sub-menu a,
	.genesis-responsive-menu .genesis-nav-menu .sub-menu,
	.sidebar-primary,
	.site-header .nav-primary {
		float: none;
		max-width: 100%;
		width: 100%;
	}

	.title-area {
		float: left;
		margin-right: 10px;
		width: 300px;
	}

	.wp-custom-logo .title-area,
	.title-area {
		max-width: 50%;
	}

	.archive-description {
		margin-bottom: 35px;
		padding-bottom: 20px;
	}

	.archive-description,
	.entry {
		margin-left: auto;
		margin-right: auto;
		max-width: 680px;
	}

	.authority-grid .archive-description {
		max-width: none;
	}

	.genesis-nav-menu li,
	.site-header ul.genesis-nav-menu {
		float: none;
	}

	/* Genesis Responsive Menus */
	.genesis-responsive-menu .wrap {
		padding: 0;
	}

	.genesis-responsive-menu {
		display: none;
		position: relative;
	}

	.genesis-skip-link .skip-link-hidden {
		display: none;
		visibility: hidden;
	}

	.genesis-responsive-menu .highlight a,
	.genesis-responsive-menu .highlight a:focus,
	.genesis-responsive-menu .highlight a:hover {
		background: transparent;
		box-shadow: none;
		color: #111;
		transform: none;
	}

	.genesis-responsive-menu .highlight a:focus,
	.genesis-responsive-menu .highlight a:hover {
		color: #000cff;
	}

	.menu-toggle,
	.sub-menu-toggle {
		border: 2px solid #000cff;
		background-color: #fff;
		color: #000cff;
		display: block;
		margin: 0 auto;
		overflow: hidden;
		text-align: center;
		visibility: visible;
	}

	.menu-toggle:focus,
	.menu-toggle:hover,
	.sub-menu-toggle:focus,
	.sub-menu-toggle:hover {
		background: #000cff;
		color: #fff;
	}

	.menu-toggle {
		float: right;
		line-height: 20px;
		position: relative;
		z-index: 1000;
	}

	.menu-toggle::before {
		font-size: 1.5em;
		margin-right: 10px;
		text-rendering: auto;
		vertical-align: top;
	}

	.sub-menu-toggle {
		float: right;
		padding: 15px 10px;
		position: absolute;
		right: 0;
		top: 0;
		z-index: 100;
	}

	.sub-menu-toggle::before {
		display: inline-block;
		text-rendering: auto;
		transform: rotate(0);
		transition: transform 0.25s ease-in-out;
	}

	.sub-menu-toggle.activated::before {
		transform: rotate(180deg);
	}

	.genesis-responsive-menu .genesis-nav-menu .menu-item {
		display: block;
		float: none;
		position: relative;
		text-align: left;
	}

	.genesis-responsive-menu .genesis-nav-menu .menu-item:focus,
	.genesis-responsive-menu .genesis-nav-menu .menu-item:hover {
		position: relative;
	}

	.genesis-responsive-menu .genesis-nav-menu a:focus,
	.genesis-responsive-menu .genesis-nav-menu a:hover {
		color: #000cff;
	}

	.genesis-responsive-menu .genesis-nav-menu .menu-item a {
		border: none;
		margin-bottom: 1px;
		padding: 15px 20px 15px 0;
		text-align: left;
		width: 100%;
	}

	.genesis-responsive-menu .genesis-nav-menu .sub-menu {
		border: none;
	}

	.genesis-responsive-menu .genesis-nav-menu .menu-item > a:focus ul.sub-menu,
	.genesis-responsive-menu .genesis-nav-menu .menu-item > a:focus ul.sub-menu .sub-menu,
	.genesis-nav-menu .highlight {
		left: 0;
		margin-left: 0;
	}

	.genesis-responsive-menu .genesis-nav-menu > .menu-item-has-children > a::after {
		content: none;
	}

	.genesis-responsive-menu .genesis-nav-menu .sub-menu {
		box-shadow: none;
		clear: both;
		display: none;
		margin: 0;
		opacity: 1;
		padding-left: 15px;
		position: static;
		width: 100%;
	}

	.genesis-responsive-menu .genesis-nav-menu .sub-menu .sub-menu {
		margin: 0;
	}

	.flexible-widgets .widget {
		padding-left: 25px;
		padding-right: 25px;
	}

	.flexible-widgets .entry-content,
	.flexible-widgets .textwidget {
		margin-left: 0;
	}

	.enews-widget {
		padding: 20px 40px;
	}

	.flexible-widgets .enews-widget {
		padding: 40px 60px;
	}

	.authority-featured-image::before,
	.featuredpost .has-post-thumbnail > a::before {
		left: -20px;
		width: calc(100% + 40px);
	}

	.flexible-widgets.widget-odd .featuredpost:last-of-type .entry,
	.authority-grid.archive:not(.woocommerce-page) .content .entry {
		padding: 0 25px;
	}

	.flexible-widgets.widget-odd .featuredpost:last-of-type .widget-title,
	.flexible-widgets.widget-odd .featuredpost:last-of-type .more-posts {
		padding-left: 25px;
		padding-right: 25px;
	}

	.single .sidebar .widget:first-of-type {
		margin-top: 0;
	}

	.site-footer {
		margin-top: 20px;
		text-align: center;
	}

	.site-footer .nav-secondary {
		float: none;
	}

}

@media only screen and (max-width: 860px) {

	.author-box .avatar {
		margin-left: 35px;
	}

	.site-inner {
		padding: 5% 5% 0;
	}

	.site-header .wrap,
	.wrap,
	#footer {
		padding-left: 5%;
		padding-right: 5%;
	}

	.after-entry,
	.archive-description,
	.author-box,
	.sidebar .widget {
		padding: 30px;
		margin-bottom: 5%;
	}

	.authority-featured-image,
	.entry,
	.comment-respond,
	.entry-comments,
	.entry-pings {
		padding: 0;
	}

	.entry-footer {
		margin-left: 0;
	}

	.archive-description {
		text-align: center;
	}

	.archive-title {
		font-size: 32px;
	}

	.enews-widget .widget-title {
		font-size: 28px;
	}

	.sidebar {
		margin-bottom: 5%;
	}

	.pagination {
		margin: 5% auto;
	}

	.archive-pagination li a {
		margin-bottom: 4px;
	}

	.five-sixths,
	.four-sixths,
	.one-fourth,
	.one-half,
	.one-sixth,
	.one-third,
	.three-fourths,
	.three-sixths,
	.two-fourths,
	.two-sixths,
	.two-thirds {
		margin: 0;
		width: 100%;
	}

	#authority-top-banner-close {
		padding-left: 20px;
		padding-right: 20px;
	}

	.authority-top-banner {
		padding-left: 18px;
		padding-right: 60px;
	}

	.enews-widget::after {
		display: none;
	}

	.flexible-widgets .widget-title,
	.flexible-widgets .entry-title {
		font-size: 32px;
	}

	.flexible-widgets.widget-odd .featuredpost:last-of-type {
		padding-top: 20px;
	}

	.authority-featured-image::before,
	.featuredpost .has-post-thumbnail > a::before {
		left: -15px;
		width: calc(100% + 30px);
	}

	.flexible-widgets.widget-odd .featuredpost:last-of-type .entry,
	.authority-grid.archive:not(.woocommerce-page) .content .entry {
		padding: 0 20px;
	}

	.flexible-widgets.widget-odd .featuredpost:last-of-type .widget-title {
		padding-left: 20px;
		padding-right: 20px;
	}

	.flexible-widgets.widget-odd .featuredpost:last-of-type .more-posts {
		padding: 0 20px 10px;
	}

	.flexible-widgets .featuredpost .entry-title,
	.footer-widgets .featured-content .entry-title,
	.authority-grid.archive:not(.woocommerce-page) .entry-title {
		font-size: 22px;
	}

}

@media only screen and (max-width: 800px) {

	h2,
	.entry-comments > h3,
	.entry-pings > h3,
	.comment-respond > h3,
	.entry-title {
		font-size: 32px;
	}

	h1,
	.single .entry-title {
		font-size: 42px;
	}

	.full-width-content.single .content {
		margin-top: 20px;
	}

	.flexible-widgets .widget,
	.flexible-widgets .widget:nth-child(odd),
	.flexible-widgets.widget-odd .widget:last-of-type,
	.flexible-widgets.widget-odd .featuredpost:last-of-type .entry,
	.authority-grid.archive:not(.woocommerce-page) .content .entry {
		clear: both;
		float: none;
		position: static;
		text-align: center;
		max-width: none;
		/*padding: 20px 0;*/
		width: 100%;
	}

	.footer-widgets .enews-widget:nth-child(1),
	.footer-widgets .enews-widget:nth-child(2) {
		margin: 0;
	}

	blockquote {
		margin-left: 15px;
		margin-right: 15px;
		margin-top: 0;
	}

	blockquote::before {
		position: relative;
		left: -8px;
		height: 80px;
		top: auto;
	}

	.flexible-widgets blockquote p {
		font-size: 18px;
	}

	.gb-block-post-grid div[class*="columns"].is-grid,
	.gb-block-post-grid .is-list .entry {
		grid-template-columns: 1fr;
	}

	.gb-block-post-grid .gb-post-grid-items .entry,
	.gb-block-post-grid .gb-post-grid-items.is-grid .entry,
	.flexible-widgets.widget-odd .featuredpost:last-of-type .entry,
	.authority-grid.archive:not(.woocommerce-page) .content .entry {
		max-width: 450px;
		margin-left: auto;
		margin-right: auto;
		padding: 0;
	}

	.flexible-widgets .featuredpost .more-posts,
	.flexible-widgets .featuredpost .widget-title {
		padding-left: 0;
		padding-right: 0;
	}

	.authority-featured-image::before,
	.featuredpost .has-post-thumbnail > a::before {
		display: none;
	}

	.flexible-widgets .enews-widget,
	.flexible-widgets .enews-widget:last-of-type,
	.flexible-widgets.widget-odd .enews-widget:last-of-type {
		padding: 30px 40px;
	}

}

@media only screen and (max-width: 600px) {

	.wrap {
		padding: 0;
	}

	.flexible-widgets > .wrap {
		/*padding: 15px 0;*/
	}

	.enews-widget,
	.flexible-widgets .enews-widget,
	.flexible-widgets .enews-widget:last-of-type,
	.flexible-widgets.widget-odd .enews-widget:last-of-type {
		padding: 20px;
	}

}


/* Print Styles
---------------------------------------------------------------------------- */

@media print {

	*,
	*::before,
	*::after {
		background: transparent !important;
		box-shadow: none !important;
		color: #000 !important;
		text-shadow: none !important;
	}

	a,
	a:visited {
		text-decoration: underline;
	}

	a[href]::after {
		content: " (" attr(href) ")";
	}

	abbr[title]::after {
		content: " (" attr(title) ")";
	}

	a[href^="javascript:"]::after,
	a[href^="#"]::after,
	.site-title > a::after {
		content: "";
	}

	thead {
		display: table-header-group;
	}

	img,
	tr {
		page-break-inside: avoid;
	}

	img {
		max-width: 100% !important;
	}

	p {
		orphans: 3;
		widows: 3;
	}

	blockquote,
	pre {
		clear: both;
		padding: 20px;
	}

	.authority-grid.archive .content .entry,
	.content,
	.content-sidebar,
	.flexible-widgets .featured-content .entry,
	.flexible-widgets .widget,
	.wp-custom-logo .title-area,
	.title-area,
	.woocommerce.archive .content .entry {
		max-width: 100% !important;
		width: 100% !important;
	}

	.flexible-widgets .widget,
	.flexible-widgets .widget:nth-child(2n) {
		float: none;
	}

	button,
	input,
	select,
	textarea,
	.breadcrumb,
	.comment-edit-link,
	.comment-form,
	.comment-list .reply a,
	.comment-reply-title,
	.edit-link,
	.entry-comments-link,
	.entry-footer,
	.genesis-box,
	.hidden-print,
	.home-top,
	.nav-primary,
	.nav-secondary,
	.nav-social,
	.pagination,
	.post-edit-link,
	.sidebar {
		display: none !important;
	}

	.author-box {
		margin-bottom: 0;
	}

	.title-area {
		text-align: center;
		width: 100%;
	}

	.site-title > a {
		margin: 0;
		text-decoration: none;
		text-indent: 0;
	}

	.site-inner {
		padding-top: 0;
		position: relative;
	}

	.more-link {
		border-width: 0;
		display: block;
		margin-bottom: 20px;
		position: static;
	}

	.more-link-wrap {
		border-width: 0;
	}

	h1,
	h2,
	h3,
	h4,
	h5,
	h6 {
		orphans: 3;
		page-break-after: avoid;
		page-break-inside: avoid;
		widows: 3;
	}

	img {
		page-break-after: avoid;
		page-break-inside: avoid;
	}

	blockquote,
	pre,
	table {
		page-break-inside: avoid;
	}

	dl,
	ol,
	ul {
		page-break-before: avoid;
	}

}
