/**
 * Theme Name:     Oxygen Theme
 * Author:         the WordPress team
 * Template:       twentytwentyone
 * Text Domain:    twenty-twenty-one-child
 * Description:    Twenty Twenty-One child theme custom styles.
 */

/* =========================
   Root & Base
   ========================= */
:root{
  --font-family: "proxima-nova", "sans-serif";
  --color--primary:#043A57; --color--primary-light:#3DA3DC; --color--secondary:#FFAE14;
  --color--tertiary:#F5F5F5; --color--white:#FFF; --color--off-white:#F5F5F5;
  --color--blue:#055D8B; --color--off-black:#2b2d2f; --color--black:#252525;
  --color--dark-gray:#999299; --color--gray:#DDDDDD; --color--red:red;
  --color--section-heading:#252525; --color--section-paragraph:#043A57;

  --width--site-max:1440px; --width--header-max:1440px;
  --width--section-padded:720px; --width--section-max:1090px;

  --bp--grid-xsmall:380px; --bp--grid-small:420px; --bp--grid-small-1:510px;
  --bp--grid-medium:550px; --bp--grid-medium-1:570px; --bp--grid-medium-2:630px;
  --bp--grid-medium-3:690px; --bp--grid-large:750px; --bp--grid-larger:900px;
  --bp--grid-largest:1026px; --bp--grid-largest-1:1100px; --bp--grid-largest-2:1124px;
  --bp--grid-largest-3:1300px; --bp--grid-menu:1350px; --bp--grid-1380:1380px;
  --bp--grid-largest-4:1400px; --bp--grid-largester:1550px; --bp--grid-largester-1:1685px;
  --bp--grid-largester-2:1736px;
}

html{
  -webkit-text-size-adjust:100%;
  -ms-text-size-adjust:100%;
  -webkit-font-smoothing:antialiased;
}

body{ overflow-x:hidden; background:#fff !important; }

#wpadminbar{ position:fixed !important; z-index:9999999999 !important; }

main#main{ padding-top:0 !important; padding-bottom:0 !important; }

div#page{ max-width:var(--width--site-max); margin:0 auto; }

.pb-default{ padding-bottom:3rem !important; }

.woocommerce .content-area{ max-width:var(--width--site-max); padding:0 !important; }

/* =========================
   Generic Headings & Breadcrumbs
   ========================= */
.woocommerce-column__title,
.woocommerce-order-details__title,
.generic-page-title{
  max-width:var(--width--section-max);
  margin:0 auto;
  font-family:var(--font-family);
  font-weight:900;
  text-transform:uppercase;
  color:var(--color--black);
  font-size:32px; line-height:32px;
}

.generic-page-heading-content{
  max-width:var(--width--section-max);
  margin:0 auto;
  font-family:var(--font-family);
  color:var(--color--black);
  font-size:16px; line-height:24px;
}

.generic-pre-content-title{
  font-family:var(--font-family);
  font-weight:900;
  color:var(--color--black);
  font-size:24px; line-height:32px;
}

.generic-pre-content-strong{
  font-family:var(--font-family);
  font-weight:bold;
  color:var(--color--black);
  font-size:21px; line-height:29px;
  max-width:auto !important; margin-left:0 !important; margin-right:0 !important;
}

.breadcrumbs,.woocommerce-breadcrumb{
  font-family:var(--font-family) !important;
  font-weight:100; text-transform:none;
  font-size:13px !important; line-height:1.3 !important;
  color:var(--color--black) !important;
  max-width:var(--width--section-max); margin:0 auto;
  padding-top:1.5rem; padding-left:0; padding-right:0;
}
@media (min-width:56.25em){
  .breadcrumbs,.woocommerce-breadcrumb{ padding-top:3rem; font-size:15px !important; line-height:28px !important; }
}
@media (min-width:70.25em){
  .breadcrumbs,.woocommerce-breadcrumb{ padding-left:0; padding-right:0; }
}
.woocommerce-breadcrumb{ font-weight:normal !important; margin-bottom:0 !important; }

.breadcrumbs a,.woocommerce-breadcrumb a{
  color:var(--color--black) !important; text-decoration:none;
  font-family:var(--font-family) !important; font-size:13px !important; line-height:1.3 !important; font-weight:normal !important;
}
.breadcrumbs .spacer,.woocommerce-breadcrumb .spacer{ padding:0 2px; }

@media (min-width:56.25em){
  .breadcrumbs a,.woocommerce-breadcrumb a{ font-size:15px !important; line-height:28px !important; }
  .breadcrumbs a.active{ font-weight:bold !important; }
  .woocommerce-breadcrumb{ font-weight:600 !important; }
  .breadcrumbs .spacer,.woocommerce-breadcrumb .spacer{ padding:0 5px; }
}

/* =========================
   Header VAT Toggle
   ========================= */
.header__toggle{ display:flex; align-items:flex-end; height:28px; margin-right:.5rem; }
.header__toggle .vat-toggle{ display:flex; align-items:center; color:var(--color--primary); font-family:var(--font-family); }
.header__toggle .vat-toggle .vat{ cursor:pointer; font-weight:bold; font-size:14px; padding:0 10px; margin:0; }
@media (max-width:570px){ .header__toggle .vat-toggle .vat.ex{ display:none; } }
.header__toggle .vat-toggle .switch{ position:relative; display:inline-block; width:40px; height:20px; margin:0 5px; }
.header__toggle .vat-toggle .switch input{ opacity:0; width:0; height:0; }
.header__toggle .vat-toggle .switch .round{
  position:absolute; cursor:pointer; inset:0;
  background-color:var(--color--primary); transition:.4s; border-radius:20px;
}
.header__toggle .vat-toggle .switch .round:before{
  position:absolute; content:""; height:16px; width:16px; left:2px; bottom:2px;
  background:#fff; border-radius:50%; transition:.4s;
}
.header__toggle .vat-toggle .switch input:checked + .round{ background-color:var(--color--secondary); }
.header__toggle .vat-toggle .switch input:checked + .round:before{ transform:translateX(20px); }
.header__toggle .vat-toggle .vat.active{ color:var(--color--primary); }
.header__toggle .vat-toggle .vat.ex.active,
.header__toggle .vat-toggle .vat.inc.active{ color:var(--color--secondary); }

/* Hide account links on very small screens */
@media (max-width:530px){
  .nav-header-top .menu-header-menu-top-container .header-login,
  .nav-header-top .menu-header-menu-top-container .header-my-account{ display:none !important; }
}

.main-nav.main-nav-header{
  display:flex; justify-content:flex-end; align-items:center; list-style:none; padding:0 !important; margin:0;
}

/* =========================
   Price INC/EX VAT Toggle
   ========================= */
.product__price > .inc-vat{ display:none !important; }
.product__price > .ex-vat{ display:inline-block !important; }
.web_prices_inc_vat .product__price > .ex-vat{ display:none !important; }
.web_prices_inc_vat .product__price > .inc-vat{ display:inline-block !important; }

/* =========================
   Forms
   ========================= */
.woocommerce form .form-row .input-text,
.woocommerce form .form-row select{ border:1px solid #ddd !important; }
div#custom_checkout_field{ margin:10px 0; }

/* =========================
   Single Product – Variations & Layout
   ========================= */
/* .single-product .content.active br{ display:none; } */
.single-product .content.active .col-12{ margin:16px 0; }

.single-product table.variations{ border:navajowhite; }
.single-product table.variations td,
.single-product table.variations th{ border:none; }
.single-product table.variations td select{ outline-offset:0; outline:none; }

/* Consistent: zero padding (resolved conflict) */
.single-product .variations_form.cart{ padding:0 !important; }

/* Labels & row layout */
.single-product .variations_form.cart th.label{ margin:0; padding:0; }
.single-product .variations_form.cart th.label label{ font-weight:700; font-size:14px; color:#000; margin:0; }
.single-product .variations_form.cart tr{ display:flex; align-items:center; justify-content:flex-start; gap:12px; }
.single-product .variations_form.cart th.label{ flex:0 0 100px; }
.single-product .variations_form.cart td.value{ flex:1; display:flex; align-items:center; gap:8px; }

/* Select */
.single-product .variations_form.cart select{
  flex:1; padding:10px 12px; border-radius:6px; border:1px solid #ccc; font-size:14px; appearance:none;
  background:#fff url("data:image/svg+xml,%3Csvg fill='none' stroke='%23333' stroke-width='2' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E") no-repeat right 10px center;
  background-size:16px 16px;
}

/* Clear link */
.single-product .variations_form.cart .reset_variations{
  font-size:13px; color:#007cba; text-decoration:underline; cursor:pointer; white-space:nowrap;
}

/* Description & price text */
.single-product .woocommerce-variation-description p{ font-size:16px; color:#555; margin:12px 0; }
.single-products-block > .section__shell > .section__content > .card-wrapper .woocommerce-product-details__short-description p,
.single-products-block > .section__shell > .section__content > .card-wrapper .woocommerce-product-details__short-description ul li{
  font-size:16px !important; font-family:var(--global--font-secondary) !important;
}
.accordion-block-products .section__content .section__column .section__inner .card-wrapper .content{ font-size:16px !important; }
.accordion-block-products .section__content .section__column .section__inner .card-wrapper .heading .content-text,
.single-product .accordion-block-products .section__content .section__column .section__inner .card-wrapper .heading .content-text{ font-size:16px !important; }

/* Variation price cluster */
.single-product .woocommerce-variation-price .product__price{ margin:10px 0 20px; }
.single-product .woocommerce-variation-price .woocommerce-Price-amount{ font-size:22px; font-weight:bold; color:#111; }

/* Quantity */
.single-product .woocommerce-variation-add-to-cart .quantity input.qty{
  width:60px; padding:8px; border-radius:6px; border:1px solid #ccc; text-align:center; margin-right:10px;
}

/* Add to cart button */
.single-product .woocommerce-variation-add-to-cart button.single_add_to_cart_button{
  background:#007cba; color:#fff; padding:12px 24px; border:none; border-radius:30px; font-size:15px; font-weight:700;
  letter-spacing:.5px; text-transform:uppercase; cursor:pointer; transition:.3s ease;
}
.single-product .woocommerce-variation-add-to-cart button.single_add_to_cart_button:hover{ background:#005f8d; }

/* Disabled state */
.single-product .woocommerce-variation-add-to-cart button.single_add_to_cart_button.disabled,
.single-product .woocommerce-variation-add-to-cart button.single_add_to_cart_button:disabled,
.single-product .woocommerce-variation-add-to-cart button.single_add_to_cart_button.wc-variation-selection-needed{
  background:linear-gradient(180deg,#d4d9dd 0%,#c2c7cc 100%); color:#fff; cursor:not-allowed; opacity:1 !important;
  border:none; border-radius:30px; box-shadow:inset 0 1px 2px rgba(255,255,255,.5);
}

/* =========================
   Notices / Forms
   ========================= */
h2.gform_submission_error.hide_summary{ font-size:16px !important; text-transform:none !important; }

/* =========================
   Product Cards & Grids
   ========================= */
/* Price strong override across blocks */
.single-products-block > .section__shell > .section__content > .card-wrapper .price strong,
.four-column-image-block-products .section__content .four-column-image-block-products-list .section__inner .card-wrapper .price strong{
  font-size:22px !important;
}

/* Four-column block image sizing */
.four-column-image-block-products .section__content .four-column-image-block-products-list .section__inner .image-wrapper{ height:300px !important; }
.four-column-image-block-products-list .products-list .image-wrapper{ padding:0 !important; }
body .four-column-image-block-products .section__content .four-column-image-block-products-list .section__inner .image-wrapper img{ object-fit:none !important; }

/* Woo Blocks: "New in store" */
.wp-block-product-new .wc-block-grid__products{
  display:flex; flex-wrap:wrap; gap:12px; margin-top:40px;
}
.wp-block-product-new .wc-block-grid__product{
  background:#fff; border:1px solid #eee; border-radius:10px; padding:20px; text-align:center; width:22%;
  box-shadow:0 4px 10px rgba(0,0,0,.05); transition:transform .2s ease;
}
.wp-block-product-new .wc-block-grid__product:hover{ transform:translateY(-5px); }
.wp-block-product-new .wc-block-grid__product-image{ margin-bottom:15px; }
.wp-block-product-new .wc-block-grid__product-title{
  font-size:20px; font-weight:600; color:#111; margin-bottom:10px; line-height:1.3; min-height:48px;
}
.wp-block-product-new .wc-block-grid__product-price{ font-size:22px; font-weight:600; color:#000; margin-bottom:15px; }
.wp-block-product-new .wc-block-grid__product-add-to-cart a{
  background:#002B45; color:#fff !important; padding:10px 20px; border-radius:25px; text-transform:uppercase; font-weight:600; font-size:14px; transition:background .3s ease;
}
.wp-block-product-new .wc-block-grid__product-add-to-cart a:hover{ background:#004a70; }

/* Generic Woo Blocks grid (alignment fix) */
ul.wc-block-grid__products{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); gap:24px;
}
ul.wc-block-grid__products li.wc-block-grid__product{
  display:flex; flex-direction:column; justify-content:space-between; border-radius:12px;
  box-shadow:0 2px 6px rgba(0,0,0,.05); padding:20px; text-align:center;
}
ul.wc-block-grid__products li.wc-block-grid__product > a,
ul.wc-block-grid__products li.wc-block-grid__product .wc-block-grid__product-price{ flex-grow:1; }
ul.wc-block-grid__products li.wc-block-grid__product .wc-block-grid__product-add-to-cart{ margin-top:auto; }
ul.wc-block-grid__products .wc-block-grid__product-image{
  min-height:220px; display:flex; align-items:center; justify-content:center;
}
ul.wc-block-grid__products .wc-block-grid__product-image img{ max-height:200px; object-fit:contain; }
ul.wc-block-grid__products .wc-block-grid__product-add-to-cart a{
  display:block; width:100%; background:#012f3e; color:#fff; font-weight:700; border-radius:30px; padding:10px 0; text-transform:uppercase; transition:background-color .2s ease;
}
ul.wc-block-grid__products .wc-block-grid__product-add-to-cart a:hover{ background:#004a64; }

a.wp-block-button__link.add_to_cart_button{ padding:80px; margin:0; height:auto; width:auto; display:block; }

/* Two-column CTA images */
.two-column-cta-block .section__content .image-wrapper img{ object-fit:contain !important; }

/* =========================
   Cart page tweaks
   ========================= */
.woocommerce-cart .generic-pre-content-strong{
  width:100%; text-align:center; max-width:100% !important;
}
.woocommerce-cart .wc-block-grid.has-4-columns .wc-block-grid__product{ flex:1 0 24%; max-width:25%; }
.woocommerce-cart .site a:focus:not(.wp-block-button__link):not(.wp-block-file__button){ outline:0 !important; }
.woocommerce-cart .wc-block-grid__product .wc-block-grid__product-link{ text-decoration:none !important; }
.woocommerce-cart .wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link{ display:block; }
.woocommerce-cart .wc-block-cart__submit-container{
  border:0; border-radius:30px; height:45px; display:flex; align-items:center; justify-content:center;
  padding:0 25px !important; background:var(--color--primary) !important; color:var(--color--white) !important;
  font-family:var(--font-family); font-weight:800 !important; font-size:19px; line-height:45px; text-transform:uppercase; text-decoration:none !important; outline:0 !important;
}
a.wc-block-components-button.wp-element-button.wc-block-cart__submit-button.contained{ color:#fff; text-decoration:none; }
a.wc-block-components-button.wp-element-button.wc-block-cart__submit-button.contained:focus{ background:none; outline:none !important; box-shadow:none; }

.woocommerce-cart button.wc-block-components-quantity-selector__button.wc-block-components-quantity-selector__button--minus,
.woocommerce-cart button.wc-block-components-quantity-selector__button.wc-block-components-quantity-selector__button--plus{
  width:20px !important; margin:0; padding:0 5px !important; display:block; outline:none;
}
.woocommerce-cart .wc-block-components-quantity-selector:after{ border:0 !important; }

.woocommerce-checkout .wc-block-components-totals-coupon__button{
    border: 0;
    border-radius: 30px;
    height: 45px;    
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 25px !important;
    background: var(--color--primary) !important;
    color: var(--color--white) !important;
    font-family: var(--font-family);
    font-weight: 800 !important;
    font-size: 19px;
    line-height: 23px;
    text-transform: uppercase;
    text-decoration: none !important;
    outline: 0px !important;	
}


.woocommerce-checkout .wc-block-components-checkout-place-order-button{
margin-top: 25px;
    border: 0;
    border-radius: 30px;
    height: 45px;
    min-width: 214px !important;
    display: flex
;
    align-items: center;
    justify-content: center;
    padding: 0 25px !important;
    background: var(--color--primary) !important;
    color: var(--color--white) !important;
    font-family: var(--font-family);
    font-weight: 800 !important;
    font-size: 19px;
    line-height: 23px;
    text-transform: uppercase;
    text-decoration: none !important;
    outline: 0px !important;	
}

.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover,
.woocommerce-checkout .wc-block-components-totals-coupon__button:hover{
	    background: var(--color--secondary) !important;
    color: var(--color--primary) !important;
    text-decoration: none !important;
}

.woocommerce-checkout .wc-block-components-checkbox__input:after{
	        left: 8px;
        top: 4px;
}
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:focus{
	border:0px transparent;
}
.woocommerce-checkout  textarea.wc-block-components-textarea {
    background-color: #fff;
    border: 1px solid hsla(0, 0%, 7%, .8);
    border-radius: 4px;
    box-sizing: border-box;
    color: #2b2d2f;
    font-family: inherit;
    font-size: 1em;
    height: 3.125em;
    line-height: 1em;
    margin: 0;
    min-height: 0;
    padding: 1em .5em;
    width: 100%;
	margin-top:15px;
}
/* Focus border for order note textarea */
.wc-block-checkout__add-note .wc-block-components-textarea:focus {
    border: 2px dotted var(--form--border-color);
}

/* Coupon input height fix */
/* Coupon input height */
.woocommerce-checkout .wc-block-components-totals-coupon__input input#wc-block-components-totals-coupon__input-coupon,
.woocommerce-cart .wc-block-components-totals-coupon__input input#wc-block-components-totals-coupon__input-coupon {
    height: 48px !important;
}

/* Label positioning for text input fields */
.woocommerce-checkout .wc-block-components-text-input label,
.woocommerce-cart .wc-block-components-text-input label {
    top: 1.2em;
}

/* Coupon button height */
.woocommerce-checkout .wc-block-components-totals-coupon__button {
    min-height: 2.5em !important;
}

.site-pricing-main-wrap .site-pricing-row .site-pricing-column .column-inner .site-pricing-price ul {
padding-left: 23px;
margin-bottom: 30px;
}
.site-pricing-main-wrap .site-pricing-row .site-pricing-column .column-inner .site-pricing-price ul li {
    font-size: 16px;
    font-weight: 400;
    margin: 0;
}
.site-pricing-main-wrap .site-pricing-row .site-pricing-column .column-inner .site-pricing-price h4,.site-pricing-main-wrap .site-pricing-row .site-pricing-column .column-inner .pricing-block h3 {
    font-size: 19px;
    font-weight: bold;
    margin-bottom: 5px;
    line-height: normal;
    text-transform: capitalize;
}
.site-pricing-main-wrap .site-pricing-row .site-pricing-column .column-inner .pricing-block p {
    margin: 0;
}
.site-pricing-main-wrap .site-pricing-row {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -15px 30px;
}
.site-pricing-main-wrap .site-pricing-row .site-pricing-column {
    width: 50%;
    padding: 0 15px;
}
.site-pricing-main-wrap .site-pricing-row .site-pricing-column .column-inner {
    background: var(--color--secondary);
    padding: 30px;
	border-radius:15px;
	height:100% !important;
}
.site-pricing-main-wrap .site-pricing-row .site-pricing-column .column-inner h3{
	font-size:22px !important;
}
.site-pricing-main-wrap .site-pricing-row .site-pricing-column .column-inner * {
    color: #333333 !important;
}
.site-pricing-main-wrap .site-pricing-title {
    margin-bottom: 35px;
}
.site-pricing-main-wrap .site-pricing-row .site-pricing-column .column-inner .site-pricing-price {
    font-size: 21px;
    font-weight: bold;
}
.site-pricing-main-wrap .site-pricing-bottom-content {
    text-align: center;
}
.site-services-main-wrap .site-section-title {
    margin-bottom: 35px;
}
.site-services-main-wrap .site-services-row .site-services-column .column-inner h3 {
    font-size: 22px !important;
    margin: 0 0 5px !important;
}
.site-services-main-wrap  .site-services-row {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -15px;
}

.site-services-main-wrap .site-services-row .site-services-column {
    width: 50%;
    padding: 0 15px 30px;
}

.site-services-main-wrap .site-services-row .site-services-column .column-inner {
    background: #1a89a3;
    padding: 30px;
    border-radius: 15px;
    height: 100%;
}

.site-services-main-wrap .site-services-row .site-services-column .column-inner * {
    color: #ffffff !important;
}

@media screen and (max-width:767px){
    .site-services-main-wrap .site-section-title,.site-pricing-main-wrap .site-pricing-title {
        margin-bottom: 15px;
    }
    .site-services-main-wrap .site-services-row .site-services-column {
        width: 100%;
        padding-bottom: 20px;
    }
    .site-services-main-wrap .site-services-row .site-services-column .column-inner h3,.site-pricing-main-wrap .site-pricing-row .site-pricing-column .column-inner h3 {
        font-size: 20px !important;
        line-height: normal;
    }
    .site-pricing-main-wrap .site-pricing-row .site-pricing-column {
        width: 100%;
        padding-bottom: 20px;
    }
    .site-pricing-main-wrap .site-pricing-row .site-pricing-column .column-inner h3 {
        margin: 0;
    }
    .site-pricing-main-wrap .site-pricing-row .site-pricing-column .column-inner .site-pricing-price {
        font-size: 18px;
    }
    .site-pricing-main-wrap .site-pricing-row {
        margin-bottom: 0;
    }
}



/* =========================
   Responsive
   ========================= */
@media (max-width:1024px){
  .wp-block-product-new .wc-block-grid__product{ width:45%; }
}
@media (max-width:767px){
  .wp-block-product-new .wc-block-grid__product{ width:100%; }
  .woocommerce-cart .wc-block-grid__products{ display:block; }
  .woocommerce-cart .wc-block-grid.has-4-columns .wc-block-grid__product{
    display:block; max-width:100% !important; padding:0 15px; margin-bottom:20px;
  }
  .burger-menu-container{ overflow-y:auto !important; -webkit-overflow-scrolling:touch; }
  body.menu-open{ overflow:hidden; }
}
@media (min-width:768px) and (max-width:1024px){
  .woocommerce-cart .wc-block-grid.has-4-columns .wc-block-grid__product{ flex:auto; max-width:50%; }
}

/* Single product small screens */
@media (max-width:480px){
  .single-product .variations_form.cart tr{ flex-direction:column; align-items:flex-start; }
  .single-product .variations_form.cart td.value{ width:100%; }
  .single-product .woocommerce-variation-add-to-cart .quantity{ margin-bottom:10px; }
  .single-product .woocommerce-variation-add-to-cart button.single_add_to_cart_button{ width:100%; margin-top:10px; }
}
