:root {
    --text: #555;
    --lightblue: #00A0E0;
    --lightblue-hover: #00b2fa;
    --darkblue: #003668;
    --orange: #FF8B41;
    --green: #82B800;
}

body {
    font-family: Roboto, Helvetica, Arial, Sans-Serif;
    color: var(--text);
    overflow-x: hidden;
    font-size: 1.125em;
    line-height: 24px;
    -webkit-text-size-adjust: 100%;
}

h1 {
    font-size: 42px;
    line-height: 48px;
    margin-bottom: 40px;
    color: #fff;
    font-weight: bold;
}

h2 {
    font-size: 32px;
    line-height: 36px;
    margin: 1.25em 0em 0.75em 0em;
    color: var(--darkblue);
    font-weight: bold;
}

h3 {
    font-size: 21px;
    font-weight: bold;
    line-height: 24px;
    margin-bottom: 24px;
}

p,
ul,
ol {
    margin: 0 0 1em 0;
    padding: 0;
    color: var(--darkblue);
}

.page-section ul {
    margin-left: 2em;
}

.page-section ul li {
    margin-top: 6px;
}

.page-section ul li:first-child {
    margin-top: 0px;
}

.page-section-invert {
    padding-top: 100px;
    padding-bottom: 100px;
}

p>a {
    color: var(--lightblue);
    transition: all 250ms ease;
    font-weight: normal;
    text-decoration: none;
}

p>a:hover {
    text-decoration: underline;
}

p>strong>a {
	color: var(--lightblue);
  	text-decoration: none;
}

p>strong>a:hover {
	color: var(--lightblue-hover);
}

a.button {
    font-size: 16px;
    min-height: 54px;
    padding: 15px 30px;
    display: inline-block;
    background: var(--lightblue);
    -moz-border-radius: 10px;
    border-radius: 10px;
    text-decoration: none;
    color: #fff;
    border: none;
    outline: none;
}

a.button:hover {
    background: var(--lightblue-hover);
}

/* Layout */

.container {
    max-width: 1250px;
    width: 94%;
}

.page-section {
    margin: 100px 0px;
}

@media (max-width: 768px) {
  .page-section {
  	margin: 60px 0px;
  }
}

#section_1 {
    margin-top: 0px;
}

.woocommerce-page #section_1 {
    margin-top: 60px;
}

/* Navbar */

.navbar-brand img {
    max-width: 160px;
    max-height: 80px;
}

.nav-cta {
    color: #BFBFBF;
    font-size: 18px;
    text-align: center;
    line-height: 28px;
}

.nav-cta p:first-child {
    font-size: 28px;
}

.nav-cta p {
    margin: 0px;
}

.nav-cta a {
    color: var(--orange);
    text-decoration: none;
    font-size: 28px;
    font-weight: normal;
}

.nav-cta p span {
    color: var(--darkblue);
}

#primaryNav .menu-item a {
    color: rgba(1, 54, 104, 1);
    padding: 15px !important;
    text-align: right;
}

#primaryNav .menu-item .dropdown-menu li a {
	padding: 10px !important;
}

#primaryNav .current-menu-item a {
    color: rgba(1, 54, 104, .6);
}

#primaryNav .menu-item:hover,
#primaryNav .menu-item:hover a {
    color: #fff;
    background: var(--lightblue);
}

.navbar-woocommerce a {
    padding: 5px;
    text-decoration: none;
    margin-bottom: 1px;
}

#primaryNav .menu-item-has-children:hover .dropdown-menu {
    display: block !important;
}

#primaryNav .dropdown-toggle::after {
    left: 0px;
}

#primaryNav .dropdown-menu {
    right: 0px;
    background: var(--lightblue);
    border-radius: 0px;
    color: #fff;
  	padding: 0px;
    border: 0;
}

a.dropdown-item:hover {
	background: rgba(255,255,255,0.1) !important;
}

/* Nav Overlapping */

.nav-overlapped {
    position: relative;
    z-index: 50;
}

.mega-nav {
    list-style: none;
    padding: 0;
    margin: 0;
}

.mega-nav>li>.sub-menu {
    display: none;
    position: absolute;
    left: 0px;
    top: 50px;
    width: 100%;
    padding: 4px;
    list-style: none;
    margin: 0;
    gap: 0px;
    box-sizing: border-box;
    grid-template-columns: repeat(2, minmax(220px, 1fr));
    align-content: start;
}

.mega-nav>li:hover>.sub-menu,
.mega-nav>li:focus-within>.sub-menu {
    display: grid;
}

.mega-nav .sub-menu>li>a {
    display: block;
    padding: 8px 0;
    color: #fff;
    text-decoration: none;
    line-height: 1.4;
    font-weight: 500;
    opacity: 1;
    text-align: start;
}

.mega-nav>li {
    width: 33.333%;
    height: 50px;
    display: flex;
    justify-content: stretch;
  	position: relative;
}

.mega-nav>li>.sub-menu::before {
    content: "";
    position: absolute;
    top: -16px;
    left: 0;
    right: 0;
    height: 16px;
}

#menu-mega-menu .menu-item a {
    color: #fff;
    width: 100%;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
  	font-weight: bold;
}

#menu-mega-menu .menu-item .sub-menu .menu-item a {
    display: flex;
    justify-content: start;
    align-items: center;
    text-decoration: none;
  	padding: 6px;
  	font-size: 16px;
  	font-weight: normal;
}

.blueMega,
.blueMega .sub-menu,
.blueMega:hover,
#menu-mega-menu .blueMega a {
    background-color: var(--lightblue);
}

.greenMega,
.greenMega .sub-menu,
.greenMega:hover,
#menu-mega-menu .greenMega a {
    background-color: var(--green);
}

.orangeMega,
.orangeMega .sub-menu,
.orangeMega:hover,
#menu-mega-menu .orangeMega a {
    background-color: var(--orange);
}

#menu-mega-menu li .sub-menu a:hover {
    background: rgba(255, 255, 255, .1) !important;
}

#menu-mega-menu .menu-item-has-children a:after {
    content: '';
    display: block;
    width: 14px;
    height: 14px;
    background: url(https://wam-staging.apex1studios.co.uk/wp-content/uploads/2025/10/chevron.png);
    margin-left: 8px;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

@media (max-width: 992px) {
    .mega-nav {
        flex-direction: column;
        gap: .25rem;
    }

    .mega-nav>li>a {
        width: 100%;
        border-radius: 8px;
    }

    .mega-nav>li>.sub-menu {
        position: static;
        transform: none;
        width: 100%;
        box-shadow: none;
        margin-top: 8px;
        grid-template-columns: 1fr;
    }
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 1030;
  background:#fff;
  transition: box-shadow .2s ease;
}

.site-header .row.align-items-center {
  --pad-y: 1.5rem;
  padding-top: var(--pad-y);
  padding-bottom: var(--pad-y);
  transition: padding .2s ease;
}

.logo-wrap {
  display: inline-flex;
  align-items: center;
  transform-origin: left center;
  transform: scale(1);
  will-change: transform;
  transition: transform .2s ease;
}

.custom-logo {
  display: block;
  height: auto;
  width: auto;
  max-height: 64px;
}

.site-header.is-scrolled { box-shadow: 0 6px 16px rgba(0,0,0,.06); }
.site-header.is-scrolled .row.align-items-center { --pad-y: .25rem; }
.site-header.is-scrolled .logo-wrap { transform: scale(.78); }

body.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .site-header { top: 46px; } }

@media (prefers-reduced-motion: reduce) {
  .site-header, .site-header .row.align-items-center, .logo-wrap { transition: none; }
}

/* ===== Mobile header bar ===== */
.mobile-header {
  position: sticky;
  top: 0;
  z-index: 1030;
  background: #fff;
}
body.admin-bar .mobile-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .mobile-header { top: 46px; } }

.mobile-header .mh-inner {
  display: flex; align-items: center; justify-content: space-between;
  padding: 0px;
  max-width: 1660px; margin: 0 auto;
}
.mh-brand { padding: 12px 24px; }
.mh-brand img { height: 54px; width: auto; display: block; }
.mh-site-name { font-weight: 700; color: #0b2f4a; }

.mh-actions { display: flex; }
.mh-call, .mh-toggle {
  display: inline-flex; align-items: center; justify-content: center;
  width: 80px; height: 80px; border: 0;
  cursor: pointer; text-decoration: none;
}
.mh-call { background: #ff8a45; color: #fff; }
.mh-toggle { background: #0b2f4a; color: #fff; }

/* ===== Off-canvas panel ===== */
.mobile-backdrop {
  position: fixed; inset: 0; background: rgba(0,0,0,.4);
  z-index: 1030; opacity: 0; transition: opacity .25s ease;
}
.mobile-backdrop[hidden] { display: none; }

.mobile-panel {
  position: fixed; top: 0; right: 0; height: 100vh; width: min(88vw, 420px);
  background: #fff; box-shadow: -8px 0 24px rgba(0,0,0,.1);
  transform: translateX(100%); transition: transform .25s ease;
  z-index: 1031; display: flex; flex-direction: column;
}
body.admin-bar .mobile-panel { top: 32px; height: calc(100vh - 32px); }
@media (max-width: 782px) {
  body.admin-bar .mobile-panel { top: 46px; height: calc(100vh - 46px); }
}

.mobile-panel.is-open { transform: translateX(0); }
.mobile-backdrop.is-open { opacity: 1; }

.no-scroll { overflow: hidden; }

.mp-header {
  display: flex; align-items: center; gap: .5rem;
  padding: .75rem 1rem; border-bottom: 1px solid #eee;
}
.mp-title { font-weight: 600; color: #0b2f4a; }
.mp-close {
  border: 0; background: transparent; width: 40px; height: 40px; cursor: pointer;
}

.mp-body { padding: .5rem 0 2rem; overflow-y: auto; -webkit-overflow-scrolling: touch; }
.mp-section { padding: .75rem 1rem 0; }
.mp-section + .mp-section { margin-top: .75rem; border-top: 1px solid #f2f2f2; }
.mp-section-title { font-size: .85rem; text-transform: uppercase; letter-spacing: .06em; color: #6c7a86; margin-bottom: .25rem; }

.mobile-menu,
.mobile-menu ul { list-style: none; padding: 0; margin: 0; }
.mobile-menu > li { border-bottom: 1px solid #f2f2f2; }
.mobile-menu a {
  display: block; padding: .9rem 2.75rem .9rem 0; color: #0b2f4a; text-decoration: none;
}
.mobile-menu a:hover { background: #f8fafc; }

.mobile-menu li.menu-item-has-children {
  position: relative;
}
.mobile-menu li.menu-item-has-children > button.sub-toggle {
  position: absolute; right: .25rem; top: .5rem;
  display: inline-flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; border: 0; background: transparent; cursor: pointer;
}
.mobile-menu li.menu-item-has-children > button.sub-toggle svg { transition: transform .2s ease; }
.mobile-menu li.menu-item-has-children.open > button.sub-toggle svg { transform: rotate(90deg); }

.mobile-menu ul.sub-menu {
  max-height: 0; overflow: hidden; transition: max-height .25s ease;
}
.mobile-menu li.menu-item-has-children.open > ul.sub-menu {
  max-height: 1000px;
}
.mobile-menu ul.sub-menu a { padding-left: 1rem; }
.mobile-menu ul.sub-menu .menu-item-has-children > a { padding-right: 2.75rem; }

#menu-mega-menu-1 .menu-item-has-children a { color: #fff; padding-left: 24px; }
#menu-mega-menu-1 .sub-toggle svg {
	color: #fff;
}

/* About Us */

.page-id-3287 #section_1 {
    margin-bottom: 0px;
  	margin-top: 60px;
}

.page-id-3287 #section_2 {
    margin-top: 0px;
}

.about-cta {
    background: var(--lightblue);
    color: #fff;
    text-decoration: none;
    padding: 14px 50px;
    border-radius: 12px;
    display: inline-block;
  	transition: 0.3s;
}

.about-cta:hover {
	background: var(--lightblue-hover);
}

.intro-desc p {
    color: #fff;
}

/* Team Member (Single) */

.page-template-page-person .container {
    max-width: 991px;
}

.team-member-card {
    background: #0D3550;
    background-image: url(https://wam-staging.apex1studios.co.uk/wp-content/uploads/2025/10/WA.png);
    background-position: right bottom;
    background-size: 500px;
    background-repeat: no-repeat;
    padding: 40px;
    border-radius: 24px;
}

.team-member-card-row {
    gap: 80px;
}

.team-member-portrait img {
    width: 275px;
    height: 275px;
    object-fit: contain;
    object-position: center bottom;
    background: #fff;
    border-radius: 24px;
}

.team-member-details h1 {
    font-weight: normal;
    margin: 0px;
}

.team-member-details p {
    font-size: 18px;
    margin-bottom: 24px;
}

.team-member-details p:last-child {
    margin-bottom: 0px;
}

.team-member-contact {
    gap: 16px;
    margin: 18px 0px;
}

.team-member-contact a {
    color: #fff;
    font-size: 24px;
}

.team-rel-portrait {
    border: 1px solid var(--darkblue);
    border-radius: 16px;
    transition: outline-color 0.4s ease, box-shadow 0.4s ease;
    outline: 2px solid transparent;
}

.team-rel-portrait:hover {
  outline-color: rgba(0, 54, 104, 0.4);
  box-shadow: 0 0 12px rgba(0, 54, 104, 0.4);
}

.team-member-name:hover {
	text-decoration: underline;
}

.team-bio {
    text-decoration: none;
    color: var(--darkblue);
    font-size: 16px;
}

.team-bio:hover {
    text-decoration: underline;
}

.team-rel-links a {
    color: var(--darkblue);
}

/* Breadcrumb Shortcode */

.apex-breadcrumbs {
    font-size: 16px;
    line-height: 1.4;
}

.apex-breadcrumbs a,
.apex-breadcrumbs {
    color: #6F8A97;
    text-decoration: none;
}

.apex-breadcrumbs .sep {
    margin: 0 .4em;
}

.apex-breadcrumbs a:hover {
    text-decoration: underline;
}

/* Single */

.entry-title {
    color: var(--darkblue);
    font-size: 36px;
    line-height: 40px;
}

.widget h3 {
    color: var(--darkblue);
    font-weight: bold;
    font-size: 32px;
}

.entry-meta {
    font-size: 14px;
    line-height: 18px;
}

.entry-meta a {
    color: var(--lightblue);
    text-decoration: none;
}

.entry-meta a:hover {
    text-decoration: underline;
}

.entry-content img.alignright {
    float: right;
    margin-top: 0;
    margin-left: 2.2222222222222223em;
}

.entry-content h3 strong,
.entry-content h3 {
    color: var(--darkblue);
}

.entry-content a {
    color: var(--lightblue);
    text-decoration: none;
}

.entry-content a:hover {
    text-decoration: underline;
}

.entry-footer {
    font-size: 14px;
}

.entry-footer a {
    color: var(--lightblue);
}

.widget ul {
    padding-left: 2em;
    font-size: 18px;
    gap: 12px;
}

.widget ul li {
    line-height: 32px;
}

.widget ul li a {
    color: var(--lightblue);
}

.widget ul li a:hover {
    text-decoration: none;
}

.archive-entry-title {
    line-height: 24px;
}

.archive-entry-title a {
    font-size: 21px;
    text-decoration: none;
    color: var(--darkblue);
    line-height: 21px;
}

.row.gx-5 > .col-12.col-md-6:nth-child(-n+2) .archive-entry-title {
  margin-top: 0;
}

/* Contact Page */

.contact-sub,
.contact-sub a {
    font-size: 24px;
    line-height: 30px;
}

.contact-sub a {
    color: var(--lightblue);
}

.contact-form input[type="submit"] {
    background: var(--lightblue);
    padding: 8px 40px;
    border-radius: 12px;
    color: #fff;
}

.contact-form input[type="submit"]:hover {
    background: var(--lightblue-hover);
}

/* Hero Template Part */

.hero {
    width: 100%;
    min-height: 450px;
    background: var(--darkblue);
    position: relative;
    display: flex;
    align-items: center;
    text-align: center;
}

.hero h2 {
    font-size: 21px;
    line-height: 24px;
    margin: 0px;
    color: #fff;
}

.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
}

.hero .social-links {
    gap: 12px;
}

.hero .social-links a {
    width: 50px;
    height: 50px;
    color: rgba(255, 255, 255, 0.8);
    background: rgba(0, 0, 0, 0.4);
    font-size: 22px;
    line-height: 50px;
}

.hero .social-links a:hover {
    color: #fff;
}

/* Image Row */

.image-col {
    max-width: 150px;
    margin: 0px 28px;
}

.image-col a:first-child {
    height: 150px;
}

.image-col a {
    font-size: 16px;
    color: #555;
    text-decoration: none;
}

/* Content Block */

.content-block h3 {
    font-size: 21px;
    color: var(--darkblue);
    font-weight: bold;
    margin-top: 32px;
}

.content-block h4 {
    font-size: 18px;
    color: var(--darkblue);
    font-weight: bold;
    margin-top: 32px;
}

/* Footer */

.footer-top {
    border-top: 2px solid var(--darkblue);
    padding: 80px 0 48px;
}

.footer-top h3 {
    color: var(--darkblue);
    font-size: 28px;
    font-weight: bold;
}

.footer-top .view-all {
    margin-left: 24px;
    font-size: 14px;
    color: var(--lightblue);
    text-decoration: none;
}

.footer-top .view-all:hover {
	text-decoration: underline;
}
.view-all:hover, .read-more:hover {
	text-decoration: underline;
}

.footer-logos {
    padding: 16px 0px;
}

.footer-logos img {
    max-width: 120px;
    max-height: 70px;
}

.footer-bottom {
    padding-bottom: 40px;
}

.newsletter-form {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.newsletter-form input {
    border-radius: 5px;
    border: 1px solid var(--darkblue);
    padding: 4px;
    width: 100%;
    font-size: 14px;
}

.newsletter-form button {
    width: 150px;
    height: 42px;
    background-color: var(--darkblue);
    color: #fff;
    text-align: center;
    border-radius: 8px;
    border: 0;
    font-size: 14px;
  	transition: 0.3s;
}

.newsletter-form button:hover {
	background-color: #004f99;
}

.footer-social {
    display: flex;
    gap: 12px;
}

.footer-social a {
    color: var(--darkblue);
    font-size: 20px;
}

.footer-social a:hover {
	color: var(--lightblue);
}

.newsletter-archive {
    font-size: 14px;
    color: var(--darkblue);
    margin-top: 12px;
    display: block;
}

.newsletter-archive:hover {
	text-decoration: none;
}

.footer-address {
    color: var(--darkblue);
    line-height: 28px;
    margin-top: 24px;
}

.footer-contact a {
    color: var(--darkblue);
    text-decoration: none;
    line-height: 28px;
  	font-weight: bold;
}

.footer-contact a:hover {
    text-decoration: underline;
}

.footer-bottom ul li a,
.footer-bottom ul li {
    color: var(--darkblue);
    font-size: 16px;
    text-decoration: none;
}

.footer-bottom ul li a:hover {
    text-decoration: underline;
}

.footer-bottom .list-inline-item:not(:last-child) {
    margin-right: 1.75em;
}

.mobile-contact,
.mobile-contact a {
    color: var(--darkblue);
    font-size: 16px;
    line-height: 20px;
    font-weight: normal;
    text-decoration: none;
}

.footer-post-title {
    font-size: 18px;
    color: var(--darkblue);
    text-decoration: none;
  	font-weight: bold;
}

.footer-post-meta {
    margin-top: 6px;
    font-size: 14px;
    color: var(--darkblue);
}

.footer-post-meta a {
    color: var(--lightblue);
    text-decoration: none;
    margin-left: 8px;
}

@media (max-width: 767px) {
    .footer-top {
        padding: 48px 0 0px;
    }

    .team-member-card-row {
        gap: 40px;
    }

    .team-member-portrait,
    .team-member-portrait img {
        width: 100%;
    }
  	.footer-bottom {
  		padding-bottom: 8px;
  	}
}

/* Shop */

.shop-category {
    background: #e5e5e5;
    padding: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 18px;
}

.cat-title {
    font-size: 18px;
    color: var(--darkblue);
    margin: 16px 0 8px;
    font-weight: bold;
}

.cat-count {
    font-size: 13.5px;
    top: -6px;
    position: relative;
}

.woocommerce-product-item {
    padding: 20px;
    text-align: center;
    background: #e5e5e5;
    border-radius: 0px;
    height: 100%;
}

.woocommerce-product-item img {
    max-width: 225px;
    height: 225px;
    margin-bottom: 24px;
    object-fit: contain;
}

.woocommerce-card-title {
    font-size: 18px;
    line-height: 21px;
    margin: 16px 0 8px;
}

.woocommerce-product-item .price {
    color: var(--lightblue);
    font-size: 18px;
}

.woocommerce-product-item .add_to_cart_button {
    background: var(--lightblue) !important;
    color: #fff !important;
    border-radius: 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 16px !important;
    font-weight: normal !important;
    width: 160px !important;
    margin: auto !important;
    margin-top: 24px !important;
    margin-bottom: 24px !important;
}

.woocommerce-product-item .add_to_cart_button:hover {
    background: var(--lightblue-hover) !important;
}

/* Case Study */

.intro-divider {
	border-right: 1px solid var(--darkblue);
}
@media (max-width: 993px) { .intro-divider { border-right: 0px; } }

.content-block h1 {
    color: var(--darkblue);
    font-weight: bold;
    font-size: 32px;
}

.testimonial {
    font-size: 42px;
    line-height: 44px;
    position: relative;
}

.testimonial:before {
    display: block;
    content: '';
    width: 30px;
    height: 30px;
    background: url('https://wam-staging.apex1studios.co.uk/wp-content/uploads/2025/10/quotes.png');
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    left: -40px;
    top: 5px;
}

.testimonial:after {
    display: block;
    content: '';
    width: 30px;
    height: 30px;
    background: url('https://wam-staging.apex1studios.co.uk/wp-content/uploads/2025/10/quotes.png');
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    right: -40px;
    bottom: 5px;
    rotate: 180deg;
}

.content-block h2 {
    font-weight: bold;
    font-size: 32px;
}

.case-button {
    padding: 16px 32px;
    background: var(--lightblue);
    border-radius: 12px;
    color: #fff;
    text-decoration: none;
    display: inline-block;

}

.case-button:hover {
    background: var(--lightblue-hover);
}

.hero-location h1,
.hero-location h2 {
    font-weight: normal;
    margin-bottom: 12px;
}

.hero-location h1 {
    font-size: 50px;
    line-height: 56px;
}

.hero-location h2 {
    font-size: 32px;
    line-height: 36px;
}

.hero-location a {
    padding: 10px 40px;
    background: var(--lightblue);
    text-decoration: none;
    color: #fff;
    border-radius: 4px;
    margin-top: 20px;
}

.hero-location a:hover {
    background: var(--lightblue-hover);
}

/* Location */

.darkblue-bg {
    background-color: var(--darkblue);
}

.text-darkblue {
    color: var(--darkblue) !important;
}

.content-block ol {
    padding-left: 20px;
}

.content-block ol li {
    margin-bottom: 20px;
}

.content-block ol li:last-child {
    margin-bottom: 0px;
}

.features-list {
    color: #fff;
    margin-left: 0px !important;
}

.features-sub p {
    color: #fff;
}

.fw-container-consult {
    padding: 10%;
    padding-right: 25%;
}

.lb-btn-standard {
    padding: 12px 32px;
    background: var(--lightblue);
    text-decoration: none;
    color: #fff;
    border-radius: 6px;
    margin-top: 20px;
}

.lb-btn-standard:hover {
    background: var(--lightblue-hover);
}

.contact-form-loc label {
    margin-left: 12px;
}

.contact-form-loc input {
    border-radius: 10px;
}

.contact-form-loc input[type="submit"],
.contact-form-loc textarea {
    border-radius: 6px !important;
}

.contact-form-loc input[type="submit"] {
    border: 0;
}

@media (max-width: 993px;) {
  .nav-cta {
  	display: none;
  }
}

/* ================================
   Minimal WC Styles: Cart / Checkout / My Account
   Uses: var(--lightblue), var(--lightblue-hover)
   ================================ */

/* Shared primitives (buttons, inputs, notices) */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  appearance: none;
  border: 0;
  border-radius: 10px;
  padding: 12px 18px;
  font-weight: 700;
  background: #e7edf3;
  color: #0f172a;
  transition: background .2s ease, transform .04s ease;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover { background: #d9e2ea; }
.woocommerce a.button:active,
.woocommerce button.button:active,
.woocommerce input.button:active { transform: translateY(1px); }

/* Primary actions */
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.wc-proceed-to-checkout a.checkout-button,
.woocommerce .place-order .button {
  background: var(--lightblue);
  color: #fff;
}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce .place-order .button:hover {
  background: var(--lightblue-hover);
}

/* Inputs */
.woocommerce input.input-text, .woocommerce textarea, .woocommerce select {
  width: 100%;
  height: 44px;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 0 12px;
  background: #fff;
}
.woocommerce textarea { min-height: 110px; padding: 10px 12px; }
.woocommerce select { appearance: none; }
.woocommerce .select2-container .select2-selection--single {
  height: 44px; border: 1px solid #e2e8f0; border-radius: 10px;
}
.woocommerce .select2-container .select2-selection__rendered { line-height: 44px; padding-left: 12px; }
.woocommerce .select2-container .select2-selection__arrow { height: 44px; right: 8px; }
.woocommerce input:focus, .woocommerce textarea:focus, .woocommerce select:focus,
.select2-container--default.select2-container--open .select2-selection--single {
  outline: 3px solid color-mix(in oklab, var(--lightblue) 35%, white);
  border-color: var(--lightblue);
}

/* Notices (light) */
.woocommerce-message, .woocommerce-error, .woocommerce-info {
  border-radius: 12px;
  border: 1px solid #e2e8f0;
  background: #f8fafc;
  color: #111827;
  padding: 12px 14px;
}
.woocommerce-error { border-color: #fed7d7; background: #fff5f5; }
.woocommerce-info  { border-color: #bee3f8; background: #ebf8ff; }

/* ========== CART (Basket) ========== */
.woocommerce-cart .shop_table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 12px;
}
.woocommerce-cart .shop_table thead th {
  font-weight: 600; color: #475569;
  border-bottom: 1px solid #e2e8f0; padding: 10px 12px;
}
.woocommerce-cart .shop_table tbody tr {
  background: #fff; border-radius: 12px; box-shadow: 0 1px 4px rgba(0,0,0,.04);
}
.woocommerce-cart .shop_table tbody td { padding: 14px 12px; vertical-align: middle; }

.woocommerce-cart .product-thumbnail img {
  width: 72px; height: 72px; object-fit: cover; border-radius: 8px;
}
.woocommerce-cart .product-name a { color: #0f172a; text-decoration: none; font-weight: 600; }
.woocommerce-cart .product-name a:hover { color: var(--lightblue); }
.woocommerce-cart .product-subtotal { font-weight: 700; }

.woocommerce a.remove {
  color: #e11d48 !important; background: transparent; width: 28px; height: 28px;
  line-height: 28px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center;
}
.woocommerce a.remove:hover { background: rgba(225,29,72,.08); }

.woocommerce .quantity .qty {
  width: 86px; height: 46px; border: 1px solid #555; border-radius: 8px; padding: 0 10px; font-weight: 600;
}

.woocommerce-cart .actions {
  display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between;
}
.woocommerce-cart .coupon { display: flex; gap: 8px; flex-wrap: wrap; }
.woocommerce-cart .coupon .input-text { height: 44px; }

.cart-collaterals .cart_totals {
  background: #fff; border-radius: 14px; box-shadow: 0 2px 8px rgba(0,0,0,.05); padding: 18px;
}
.cart_totals h2 { margin: 0 0 10px; font-size: 1.1rem; }
.cart_totals .shop_table { border-collapse: collapse; width: 100%; }
.cart_totals .shop_table td, .cart_totals .shop_table th {
  padding: 8px 0; border-bottom: 1px solid #e2e8f0;
}
.cart_totals .order-total td, .cart_totals .order-total th { font-weight: 800; }
.wc-proceed-to-checkout { margin-top: 12px; }
.wc-proceed-to-checkout .checkout-button { width: 100%; }

@media (max-width: 768px) {
  .woocommerce-cart .shop_table thead { display: none; }
  .woocommerce-cart .shop_table tbody tr {
    display: grid;
    grid-template-columns: 84px 1fr;
    grid-template-areas:
      "thumb name"
      "qty   qty"
      "price subtotal"
      "remove remove";
    gap: 8px 12px; padding: 12px;
  }
  .woocommerce-cart td.product-thumbnail { grid-area: thumb; padding: 0; }
  .woocommerce-cart td.product-name { grid-area: name; padding: 0; }
  .woocommerce-cart td.product-quantity { grid-area: qty; }
  .woocommerce-cart td.product-price { grid-area: price; }
  .woocommerce-cart td.product-subtotal { grid-area: subtotal; text-align: right; }
  .woocommerce-cart td.product-remove { grid-area: remove; text-align: right; }
}

/* ========== CHECKOUT ========== */
.woocommerce-checkout .col2-set,
.woocommerce-checkout #customer_details {
  background: #fff; border-radius: 14px; box-shadow: 0 2px 8px rgba(0,0,0,.05); padding: 18px;
}
.woocommerce-checkout h3 { margin-top: 0; }

.woocommerce-checkout-review-order {
  background: #fff; border-radius: 14px; box-shadow: 0 2px 8px rgba(0,0,0,.05); padding: 18px;
}
.woocommerce-checkout-review-order-table {
  width: 100%; border-collapse: collapse;
}
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
  padding: 10px 0; border-bottom: 1px solid #e2e8f0;
}
.woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout-review-order-table tfoot td { font-weight: 700; }
.woocommerce-checkout #payment {
  background: #f8fafc; border-radius: 12px; padding: 12px; margin-top: 14px;
}
.woocommerce-checkout #payment ul.payment_methods { margin: 0; }
.woocommerce-checkout #payment div.form-row { padding: 0; }
.woocommerce-checkout .place-order { margin-top: 12px; }

/* Layout grid */
@media (min-width: 992px) {
  .woocommerce-checkout .woocommerce {
    display: grid; grid-template-columns: 1fr 420px; gap: 20px; align-items: start;
  }
}

/* ========== MY ACCOUNT ========== */
.woocommerce-account .woocommerce {
  display: flex; gap: 20px;
}
@media (max-width: 992px) { .woocommerce-account .woocommerce { grid-template-columns: 1fr; } }

.woocommerce-MyAccount-navigation {
  background: #fff; border-radius: 14px; box-shadow: 0 2px 8px rgba(0,0,0,.05); padding: 8px;
}
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 6px; }
.woocommerce-MyAccount-navigation a {
  display: block; padding: 10px 12px; border-radius: 10px; text-decoration: none; color: #0f172a;
}
.woocommerce-MyAccount-navigation a:hover { background: #f1f5f9; }
.woocommerce-MyAccount-navigation .is-active a { background: color-mix(in oklab, var(--lightblue) 12%, white); font-weight: 700; }

.woocommerce-MyAccount-content {
  background: #fff; border-radius: 14px; box-shadow: 0 2px 8px rgba(0,0,0,.05); padding: 18px;
}
.woocommerce-MyAccount-content .addresses { display: grid; gap: 14px; }
@media (min-width: 768px) { .woocommerce-MyAccount-content .addresses {  } }

.woocommerce table.my_account_orders,
.woocommerce table.account-orders-table {
  width: 100%; border-collapse: separate; border-spacing: 0 10px;
}
.woocommerce table.account-orders-table thead th {
  text-align: left; font-weight: 600; color: #475569; border-bottom: 1px solid #e2e8f0; padding: 10px 12px;
}
.woocommerce table.account-orders-table tbody tr {
  background: #fff; border-radius: 10px; box-shadow: 0 1px 3px rgba(0,0,0,.04);
}
.woocommerce table.account-orders-table tbody td { padding: 12px; vertical-align: middle; }
.woocommerce .woocommerce-orders-table__cell-order-actions .button {
  background: var(--lightblue); color: #fff; padding: 8px 12px; border-radius: 8px;
}
.woocommerce .woocommerce-orders-table__cell-order-actions .button:hover { background: var(--lightblue-hover); }

.woocommerce-error::before, .woocommerce-info::before, .woocommerce-message::before {
	position: static;
}

.details-card {
	border: 1px solid var(--darkblue);
  	border-radius: 2px;
  	padding: 24px;
}

.details-card h2 {
    font-size: 20px;
    margin-bottom: 8px;
    font-weight: bold;
}

.product-short-desc h2 {
    font-size: 20px;
}

.product-short-desc h3 {
    font-size: 18px;
}

.single-product-title {
    color: var(--darkblue);
    font-size: 36px;
    line-height: 38px;
    margin-bottom: 16px;
}

.single-product-price .amount {
    color: var(--orange);
    font-weight: bold;
    font-size: 24px;
}

.product-payment-controls form {
    display: flex;
    gap: 12px;
    align-items: center;
}

button.single_add_to_cart_button.button.alt {    
  	padding: 8px 32px !important;
    font-size: 18px !important;
    border-radius: 8px !important;
    height: 46px;
    font-weight: normal;
}

.woocommerce-product-gallery.woocommerce-product-gallery--with-images.woocommerce-product-gallery--columns-4.images {
	position: relative;
}

a.woocommerce-product-gallery__trigger {
	position: absolute;
  	right: 0;
  	top: 0;
}

.woocommerce-product-gallery__image.flex-active-slide {
    height: 500px;
    display: flex !important;
    align-items: center;
}

ol.flex-control-nav.flex-control-thumbs {
    display: flex;
    list-style: none;
    gap: 16px;
  	flex-wrap: wrap;
}

.flex-control-thumbs li img {
    width: 80px;
    height: 80px;
    object-fit: contain;
    border: 1px solid #8888;
    padding: 4px;
  	cursor: pointer;
}

.related-product-card {
    padding: 24px;
    border: 1px solid var(--darkblue);
    border-radius: 32px;
    text-align: center;
}

.related-product-card h3 {
	margin-bottom: 4px;
}

.related-product-card h3 a {
	color: var(--darkblue);
  	text-decoration: none;
  	font-size: 18px;
}

.related-product-card .woocommerce-Price-amount.amount {
	color: var(--lightblue-hover);
  	font-weight: bold;
}

.related-product-card .add-to-basket {
    display: block;
    width: 75%;
    background: red;
    margin: 24px auto 8px;
    background: var(--lightblue);
    color: #fff;
    text-decoration: none;
    border-radius: 4px;
    padding: 10px;
}