/* Oceanterra 0.7.8 — presentation for native WooCommerce surfaces.
 * Keep Woo's templates, notices, validation, payment UI and responsive block
 * layouts in charge. This stylesheet neither hides fields nor creates controls.
 */
body.imf-site.im-oceanterra-commerce {
  --otc-blue: #2196f3;
  --otc-link: #096eae;
  --otc-orange: #ff9e3c;
  --otc-orange-hover: #f28d2d;
  --otc-ink: #303f3e;
  --otc-muted: #5c6b69;
  --otc-line: #d7e0df;
  --otc-pale: #f2f7f7;
  --otc-radius: 5px;
  --im-heading-font: "Oceanterra Roboto", Roboto, Arial, sans-serif;
  --im-brand-link: #096eae;
  --im-brand-line: #d7e0df;
  --im-page-bg: #fff;
  background: #fff;
  color: var(--otc-ink);
  font-family: "Oceanterra Roboto", Roboto, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.65;
}
.imf-site.im-oceanterra-commerce main {
  width: calc(100% - 64px);
  max-width: 1330px;
  margin-inline: auto;
  padding: clamp(36px, 4.5vw, 68px) 0 clamp(52px, 6vw, 90px);
  min-width: 0;
}
.imf-site.im-oceanterra-commerce main :is(.alignwide, .alignfull, .wp-block-post-content) {
  max-width: 100%;
  margin-inline: 0;
}
.imf-site.im-oceanterra-commerce main :is(h1, h2, h3, h4, h5, h6) {
  font-family: "Oceanterra Roboto", Roboto, Arial, sans-serif;
  color: var(--otc-ink);
  letter-spacing: 0;
  line-height: 1.25;
  text-wrap: initial;
}
.imf-site.im-oceanterra-commerce main h1 {font-size: clamp(30px, 3.3vw, 44px); font-weight: 400; margin-block: 0 30px;}
.imf-site.im-oceanterra-commerce main h2 {font-size: clamp(24px, 2.1vw, 30px); font-weight: 500;}
.imf-site.im-oceanterra-commerce main h3 {font-size: 22px; font-weight: 500;}
.imf-site.im-oceanterra-commerce main :is(h4, h5, h6) {font-size: 18px; font-weight: 600;}
.imf-site.im-oceanterra-commerce main a {color: var(--otc-link);}
.imf-site.im-oceanterra-commerce main :where(a, button, input, textarea, select):focus-visible {
  outline: 3px solid var(--otc-link);
  outline-offset: 3px;
  box-shadow: 0 0 0 2px #fff;
}
.imf-site.im-oceanterra-commerce .im-oceanterra-commerce-skip-target {display: block; width: 0; height: 0; overflow: hidden;}
.imf-site.im-oceanterra-commerce .im-oceanterra-checkout-header {background: var(--otc-blue); color: #fff; padding: 22px 32px;}
.imf-site.im-oceanterra-commerce .im-oceanterra-checkout-header > .wp-block-group {max-width: 1330px; margin-inline: auto; padding: 0;}
.imf-site.im-oceanterra-commerce .im-oceanterra-checkout-header :is(.wp-block-site-title, .wp-block-site-title a, .wc-block-cart-link, .wc-block-cart-link a) {color: #fff; font-family: "Oceanterra Roboto", Roboto, Arial, sans-serif; font-weight: 600; font-size: 20px; text-decoration: none;}
.imf-site.im-oceanterra-commerce .im-oceanterra-checkout-header .wp-block-site-title {margin: 0;}
.imf-site.im-oceanterra-commerce :is(.woocommerce-breadcrumb, .wc-block-breadcrumbs) {font-size: 14px; color: var(--otc-muted); margin-block: 0 22px;}
.imf-site.im-oceanterra-commerce :is(.woocommerce-result-count, .woocommerce-ordering) {margin-block: 0 24px; color: var(--otc-muted); font-size: 15px;}
.imf-site.im-oceanterra-commerce .woocommerce-ordering select {width: auto; max-width: 100%; min-height: 46px;}

/* Classic product grids. Block product collections retain their own layout. */
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) ul.products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 38px 28px;
  margin: 0 0 42px;
  padding: 0;
}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) ul.products::before,
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) ul.products::after {content: none;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) ul.products.columns-1 {grid-template-columns: 1fr;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) ul.products.columns-2 {grid-template-columns: repeat(2, minmax(0, 1fr));}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) ul.products.columns-3 {grid-template-columns: repeat(3, minmax(0, 1fr));}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) ul.products :is(li.product, li.product-category) {
  float: none;
  width: auto;
  min-width: 0;
  margin: 0;
  padding: 0 0 20px;
  border-bottom: 1px solid var(--otc-line);
  list-style: none;
}
.imf-site.im-oceanterra-commerce :is(.wc-block-product-template > li, .wc-block-grid__product) {min-width: 0;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) ul.products li.product a img,
.imf-site.im-oceanterra-commerce :is(.wc-block-components-product-image img, .wc-block-grid__product-image img) {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  background: var(--otc-pale);
  border: 1px solid var(--otc-line);
  border-radius: var(--otc-radius);
  margin-block: 0 18px;
}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) ul.products li.product :is(.woocommerce-loop-product__title, .woocommerce-loop-category__title),
.imf-site.im-oceanterra-commerce :is(.wc-block-grid__product-title, .wc-block-product-template .wp-block-post-title) {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.4;
  margin-block: 0 10px;
  padding: 0;
}
.imf-site.im-oceanterra-commerce :is(.woocommerce-loop-product__link, .wc-block-grid__product-link, .wc-block-product-template .wp-block-post-title a) {color: var(--otc-ink); text-decoration: none;}
.imf-site.im-oceanterra-commerce :is(.woocommerce-loop-product__link, .wc-block-grid__product-link, .wc-block-product-template .wp-block-post-title a):hover {color: var(--otc-link);}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) :is(ul.products li.product .price, div.product p.price, div.product span.price),
.imf-site.im-oceanterra-commerce :is(.wc-block-product-template .wc-block-components-product-price, .wc-block-grid__product .wc-block-components-product-price, .wp-block-woocommerce-product-price) {
  color: var(--otc-ink);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.5;
}
.imf-site.im-oceanterra-commerce :is(.price, .wc-block-components-product-price) ins {text-decoration: none;}
.imf-site.im-oceanterra-commerce :is(.price, .wc-block-components-product-price) del {color: var(--otc-muted); font-weight: 400; opacity: .8;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) span.onsale {
  min-width: 0;
  min-height: 0;
  padding: 7px 12px;
  background: var(--otc-blue);
  color: #102d3d;
  border-radius: 3px;
  font-size: 13px;
  line-height: 1.4;
  font-weight: 700;
}
.imf-site.im-oceanterra-commerce .wc-block-components-product-sale-badge {border-color: var(--otc-line); background: var(--otc-pale); color: var(--otc-ink); border-radius: 3px;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) .star-rating,
.imf-site.im-oceanterra-commerce .wc-block-components-product-rating__stars {color: #956000;}

/* Scope only action buttons: remove/coupon toggles and gateway-owned controls
 * keep their native semantics and do not become oversized orange buttons. */
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) :is(a.button, button.button, input.button, #respond input#submit),
.imf-site.im-oceanterra-commerce :is(.wc-block-components-button:not(.is-link), .wc-block-components-product-button__button, .wp-block-woocommerce-product-button .wp-block-button__link) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  max-width: 100%;
  padding: 13px 22px;
  border: 1px solid transparent;
  border-radius: var(--otc-radius);
  background: var(--otc-orange);
  color: #26352f;
  box-shadow: none;
  font-family: inherit;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.35;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  cursor: pointer;
  transition: background-color .15s ease, border-color .15s ease;
}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) :is(a.button, button.button, input.button, #respond input#submit):hover,
.imf-site.im-oceanterra-commerce :is(.wc-block-components-button:not(.is-link), .wc-block-components-product-button__button, .wp-block-woocommerce-product-button .wp-block-button__link):hover {background: var(--otc-orange-hover); color: #26352f;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) :is(a.button, button.button, input.button):is(:disabled, .disabled, [aria-disabled="true"]),
.imf-site.im-oceanterra-commerce .wc-block-components-button:is(:disabled, [aria-disabled="true"]) {opacity: .55; cursor: not-allowed;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) a.added_to_cart,
.imf-site.im-oceanterra-commerce :is(.wc-block-cart-item__remove-link, .wc-block-components-button.is-link) {color: var(--otc-link); font-size: 15px;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) a.added_to_cart {display: inline-block; padding: 12px 0 0 12px;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) :is(.coupon button.button, button[name="update_cart"], .woocommerce-MyAccount-content .button) {background: var(--otc-pale); border-color: var(--otc-line); color: var(--otc-ink);}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) :is(.coupon button.button, button[name="update_cart"], .woocommerce-MyAccount-content .button):hover {background: #e4eeee;}

/* Classic text inputs only. Woo block floating labels and payment-provider
 * fields deliberately keep their supplied padding, height and behavior. */
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) :is(.form-row, .woocommerce-ordering, .variations, .quantity, .coupon) :is(input.input-text, input[type="number"], select, textarea),
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) form.login input.input-text,
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) form.register input.input-text {
  background: #fff;
  color: var(--otc-ink);
  border: 1px solid #94a6a3;
  border-radius: var(--otc-radius);
  min-height: 48px;
  padding: 11px 13px;
  font: inherit;
  font-size: 16px;
  box-shadow: none;
}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) form .form-row label {font-size: 15px; font-weight: 500; line-height: 1.5; margin-block-end: 7px;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) form .form-row {margin-block: 0 18px; padding: 0;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) form .form-row textarea {min-height: 120px; resize: vertical;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) form .form-row :is(input[type="checkbox"], input[type="radio"]) {accent-color: var(--otc-link); width: auto; min-height: 0;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) form .form-row.woocommerce-invalid :is(input.input-text, select, textarea) {border-color: #b33131;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) form .form-row.woocommerce-validated :is(input.input-text, select, textarea) {border-color: #44715d;}
.imf-site.im-oceanterra-commerce :is(.select2-container--default .select2-selection--single) {border: 1px solid #94a6a3; border-radius: var(--otc-radius); min-height: 48px; background: #fff;}
.imf-site.im-oceanterra-commerce .select2-container--default .select2-selection--single .select2-selection__rendered {color: var(--otc-ink); line-height: 46px; padding-inline-start: 13px;}
.imf-site.im-oceanterra-commerce .select2-container--default .select2-selection--single .select2-selection__arrow {height: 46px;}
.imf-site.im-oceanterra-commerce .select2-dropdown {border-color: #94a6a3; color: var(--otc-ink); font-size: 16px;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) .quantity .qty {width: 5em; text-align: center;}
.imf-site.im-oceanterra-commerce :is(.wc-block-components-quantity-selector, .wc-block-components-text-input input, .wc-block-components-textarea, .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input, .wc-blocks-components-select .wc-blocks-components-select__select) {border-color: #94a6a3; border-radius: var(--otc-radius); color: var(--otc-ink);}
.imf-site.im-oceanterra-commerce .wc-block-components-quantity-selector {background: #fff;}

/* Product details and the native classic gallery; no visibility or transform
 * overrides on slider tracks, thumbnails, zoom targets or lightboxes. */
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) div.product div.summary {padding-block-start: 8px;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) div.product .product_title {font-size: clamp(28px, 3vw, 40px); margin-bottom: 18px;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) div.product p.price {font-size: 24px; margin-block: 0 20px;}
.imf-site.im-oceanterra-commerce .woocommerce-product-details__short-description {margin-bottom: 26px;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) div.product form.cart {margin-block: 24px 30px;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) div.product form.cart div.quantity {margin-inline-end: 12px;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) div.product form.cart .variations {border: 0; margin-bottom: 18px;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) div.product form.cart .variations :is(th, td) {border: 0; padding: 6px 0 10px; vertical-align: middle;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) div.product form.cart .variations th {padding-inline-end: 18px; font-weight: 500;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) div.product form.cart .variations select {width: 100%; min-width: 0;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) div.product .product_meta {border-top: 1px solid var(--otc-line); padding-top: 18px; font-size: 14px; color: var(--otc-muted);}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) div.product .product_meta > span {display: block; margin-block: 4px;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) div.product .woocommerce-tabs {padding-top: 28px;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) div.product .woocommerce-tabs ul.tabs {padding: 0; margin-bottom: 28px;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) div.product .woocommerce-tabs ul.tabs::before {border-color: var(--otc-line);}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) div.product .woocommerce-tabs ul.tabs li {margin: 0 8px 0 0; padding: 0 18px; border-color: var(--otc-line); border-radius: var(--otc-radius) var(--otc-radius) 0 0; background: var(--otc-pale);}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) div.product .woocommerce-tabs ul.tabs li::before,
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) div.product .woocommerce-tabs ul.tabs li::after {content: none;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) div.product .woocommerce-tabs ul.tabs li.active {background: #fff; border-top: 3px solid var(--otc-blue); border-bottom-color: #fff;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) div.product .woocommerce-tabs ul.tabs li a {padding: 13px 0; color: var(--otc-ink); font-weight: 500;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) #reviews #comments ol.commentlist li .comment-text {border-color: var(--otc-line); border-radius: var(--otc-radius);}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) #review_form #respond textarea {min-height: 140px; border: 1px solid #94a6a3; border-radius: var(--otc-radius); padding: 12px; font: inherit;}

/* Tables, totals, customer details and order history. Leave Woo's mobile
 * table-to-card behavior intact and neutralize only Framework cell borders. */
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) table.shop_table {border: 1px solid var(--otc-line); border-radius: var(--otc-radius); border-collapse: separate; border-spacing: 0; margin-bottom: 28px;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) table.shop_table :is(th, td) {border: 0; border-top: 1px solid var(--otc-line); padding: 16px; vertical-align: middle;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) table.shop_table thead th {border-top: 0; background: var(--otc-pale); font-size: 14px; font-weight: 600;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) table.shop_table tbody tr:first-child td {border-top: 0;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) table.shop_table :is(tfoot th, tfoot td) {font-weight: 500;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) table.shop_table .product-thumbnail img {width: 80px; height: auto; border-radius: 3px;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) table.shop_table .product-name {overflow-wrap: anywhere;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) a.remove {color: #9b3232 !important; font-size: 25px; width: 32px; height: 32px; line-height: 30px; border-radius: 50%;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) a.remove:hover {background: #9b3232; color: #fff !important;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) .cart .actions .coupon {display: flex; flex-wrap: wrap; gap: 10px;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) .cart .actions .coupon .input-text {width: 170px; margin: 0;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) .cart-collaterals .cart_totals {background: var(--otc-pale); padding: 26px; border: 1px solid var(--otc-line); border-radius: var(--otc-radius);}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) .cart_totals h2 {margin-top: 0; font-size: 26px;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) .cart_totals table.shop_table {background: transparent; border: 0; margin-bottom: 12px;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) .cart_totals table.shop_table :is(th, td) {padding: 13px 0;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) .cart_totals table.shop_table td {padding-inline-start: 14px;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) .wc-proceed-to-checkout {padding-bottom: 0;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) .wc-proceed-to-checkout a.checkout-button {display: flex; margin: 0; font-size: 17px;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) :is(.woocommerce-customer-details address, form.login, form.register, form.checkout_coupon) {border: 1px solid var(--otc-line); border-radius: var(--otc-radius); padding: 24px; background: #fff;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) ul.order_details {padding: 22px; background: var(--otc-pale); border: 1px solid var(--otc-line); border-radius: var(--otc-radius);}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) ul.order_details li {margin-block: 8px; line-height: 1.7;}

/* Classic checkout columns stack naturally. Never hide shipping, tax,
 * terms, coupon, validation or payment-method content. */
.imf-site.im-oceanterra-commerce .woocommerce-checkout #customer_details {margin-bottom: 28px;}
.imf-site.im-oceanterra-commerce .woocommerce-checkout #order_review_heading {margin-block: 32px 18px;}
.imf-site.im-oceanterra-commerce .woocommerce-checkout #payment {background: var(--otc-pale); border: 1px solid var(--otc-line); border-radius: var(--otc-radius);}
.imf-site.im-oceanterra-commerce .woocommerce-checkout #payment ul.payment_methods {padding: 22px; border-bottom-color: var(--otc-line);}
.imf-site.im-oceanterra-commerce .woocommerce-checkout #payment div.payment_box {background: #e2eceb; color: var(--otc-ink); border-radius: 3px;}
.imf-site.im-oceanterra-commerce .woocommerce-checkout #payment div.payment_box::before {border-bottom-color: #e2eceb;}
.imf-site.im-oceanterra-commerce .woocommerce-checkout #payment div.form-row {padding: 22px; margin: 0;}
.imf-site.im-oceanterra-commerce .woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper {font-size: 14px;}
.imf-site.im-oceanterra-commerce .woocommerce-checkout #payment #place_order {margin-top: 12px;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) form .show-password-input {color: var(--otc-ink);}

/* Public Woo Blocks classes. Preserve their container-query layout,
 * floating labels, sticky submit container and asynchronous state UI. */
.imf-site.im-oceanterra-commerce :is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) {color: var(--otc-ink); font-size: 16px; margin-block: 0;}
.imf-site.im-oceanterra-commerce :is(.wc-block-cart, .wc-block-checkout) :is(h2.wc-block-components-title, .wc-block-cart__totals-title, .wc-block-components-checkout-step__title) {font-size: 22px; font-weight: 500; letter-spacing: 0; text-transform: none;}
.imf-site.im-oceanterra-commerce .wc-block-cart .wc-block-cart__totals-title {font-size: 18px;}
.imf-site.im-oceanterra-commerce .wc-block-components-sidebar {background: var(--otc-pale); border-radius: var(--otc-radius);}
.imf-site.im-oceanterra-commerce :is(.wc-block-components-totals-wrapper, .wc-block-components-order-summary, .wc-block-cart-items, .wc-block-components-panel) {border-color: var(--otc-line);}
.imf-site.im-oceanterra-commerce table.wc-block-cart-items :is(th, td) {border: 0;}
.imf-site.im-oceanterra-commerce .wc-block-components-product-name {font-size: 17px; font-weight: 500; color: var(--otc-ink);}
.imf-site.im-oceanterra-commerce .wc-block-cart__submit-container {background: #fff;}
.imf-site.im-oceanterra-commerce .wc-block-cart__submit-container::before {color: #d7e0df;}
.imf-site.im-oceanterra-commerce .wc-block-components-order-summary-item__quantity {background: #fff; border-color: var(--otc-ink); color: var(--otc-ink); box-shadow: 0 0 0 2px #fff;}
.imf-site.im-oceanterra-commerce .wc-block-components-checkout-place-order-button {margin-top: 12px;}
.imf-site.im-oceanterra-commerce .wc-block-components-checkout-return-to-cart-button {font-size: 15px; color: var(--otc-link);}
.imf-site.im-oceanterra-commerce .wc-block-components-checkout-step__description {color: var(--otc-muted);}
.imf-site.im-oceanterra-commerce .wc-block-components-order-summary-item__image img {border-radius: 3px;}

/* Native Cart can create an extra implicit grid column at very narrow widths.
 * Keep the actual image, product controls and total; place the total beneath
 * the product instead of clipping it. The viewport rule also covers older
 * Woo releases that do not establish a CSS container on the Cart block. */
@container (max-width: 360px) {
  .imf-site.im-oceanterra-commerce .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row {display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 12px;}
  .imf-site.im-oceanterra-commerce .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__image {grid-column: 1; grid-row: 1 / span 2; padding-inline-end: 0;}
  .imf-site.im-oceanterra-commerce .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__product {grid-column: 2; grid-row: 1; min-width: 0;}
  .imf-site.im-oceanterra-commerce .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__quantity {flex-wrap: wrap; padding-inline-end: 0;}
  .imf-site.im-oceanterra-commerce .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__total {grid-column: 2; grid-row: 2; justify-self: start; text-align: start; padding: 0;}
}
@media (max-width: 392px) {
  .imf-site.im-oceanterra-commerce .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row {display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 12px;}
  .imf-site.im-oceanterra-commerce .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__image {grid-column: 1; grid-row: 1 / span 2; padding-inline-end: 0;}
  .imf-site.im-oceanterra-commerce .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__product {grid-column: 2; grid-row: 1; min-width: 0;}
  .imf-site.im-oceanterra-commerce .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__quantity {flex-wrap: wrap; padding-inline-end: 0;}
  .imf-site.im-oceanterra-commerce .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__total {grid-column: 2; grid-row: 2; justify-self: start; text-align: start; padding: 0;}
}

/* Account navigation and both logged-in and logged-out forms. */
.imf-site.im-oceanterra-commerce .woocommerce-MyAccount-navigation {width: 24%;}
.imf-site.im-oceanterra-commerce .woocommerce-MyAccount-content {width: 71%; min-width: 0;}
.imf-site.im-oceanterra-commerce .woocommerce-MyAccount-navigation ul {list-style: none; padding: 0; margin: 0 0 26px; border: 1px solid var(--otc-line); border-radius: var(--otc-radius); overflow: hidden;}
.imf-site.im-oceanterra-commerce .woocommerce-MyAccount-navigation li {padding: 0; margin: 0; border-bottom: 1px solid var(--otc-line);}
.imf-site.im-oceanterra-commerce .woocommerce-MyAccount-navigation li:last-child {border-bottom: 0;}
.imf-site.im-oceanterra-commerce .woocommerce-MyAccount-navigation li a {display: block; padding: 13px 17px; min-height: 48px; text-decoration: none; color: var(--otc-ink);}
.imf-site.im-oceanterra-commerce .woocommerce-MyAccount-navigation li.is-active a {border-inline-start: 4px solid var(--otc-blue); padding-inline-start: 13px; background: var(--otc-pale); font-weight: 600;}
.imf-site.im-oceanterra-commerce .woocommerce-MyAccount-navigation li a:hover {background: var(--otc-pale);}
.imf-site.im-oceanterra-commerce .woocommerce-MyAccount-content fieldset {border: 1px solid var(--otc-line); border-radius: var(--otc-radius); margin-block: 24px; padding: 20px;}
.imf-site.im-oceanterra-commerce .woocommerce-MyAccount-content legend {padding-inline: 8px; font-weight: 600;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) .woocommerce-form-login__rememberme {display: inline-flex; align-items: center; gap: 8px; margin: 12px 16px 12px 0;}

/* Notices retain their native status roles, icons and dismiss behavior. */
.imf-site.im-oceanterra-commerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) {background: var(--otc-pale); color: var(--otc-ink); border-radius: var(--otc-radius); font-size: 16px; line-height: 1.6;}
.imf-site.im-oceanterra-commerce :is(.woocommerce-message, .woocommerce-info) {border-top-color: var(--otc-link);}
.imf-site.im-oceanterra-commerce :is(.woocommerce-message, .woocommerce-info)::before {color: var(--otc-link);}
.imf-site.im-oceanterra-commerce .woocommerce-error {border-top-color: #b33131;}
.imf-site.im-oceanterra-commerce .woocommerce-error::before {color: #b33131;}
.imf-site.im-oceanterra-commerce .wc-block-components-notice-banner {border-radius: var(--otc-radius); font: inherit;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) nav.woocommerce-pagination ul {border: 0; display: inline-flex; flex-wrap: wrap; gap: 6px;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) nav.woocommerce-pagination ul li {border: 0;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) nav.woocommerce-pagination ul li :is(a, span) {display: grid; place-items: center; min-width: 44px; min-height: 44px; border: 1px solid var(--otc-line); border-radius: 3px; color: var(--otc-ink); background: #fff;}
:is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) nav.woocommerce-pagination ul li :is(.current, a:hover) {background: var(--otc-pale); border-color: var(--otc-link); color: var(--otc-link);}

@media (max-width: 1000px) {
  :is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) ul.products {grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 22px;}
}
@media (max-width: 768px) {
  .imf-site.im-oceanterra-commerce main {width: calc(100% - 40px); padding-block: 32px 54px;}
  .imf-site.im-oceanterra-commerce .im-oceanterra-checkout-header {padding: 18px 20px;}
  :is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) ul.products,
  :is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) ul.products.columns-3 {grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 20px;}
  :is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) ul.products.columns-1 {grid-template-columns: 1fr;}
  .imf-site.im-oceanterra-commerce :is(.woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content) {float: none; width: 100%;}
  :is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) .cart-collaterals .cart_totals {padding: 20px;}
  :is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) table.shop_table :is(th, td) {padding: 12px;}
  :is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) .cart .actions .coupon {float: none; margin-bottom: 10px;}
  :is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) .cart .actions .coupon .input-text {width: auto; min-width: 0; flex: 1 1 140px;}
  :is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) .cart .actions .coupon button.button {width: auto; flex: 1 1 140px;}
  :is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) .cart .actions > button.button {width: 100%;}
  :is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) .woocommerce-MyAccount-content table.shop_table {max-width: 100%;}
  :is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) ul.order_details {display: flex; flex-wrap: wrap; gap: 12px 22px;}
  :is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) ul.order_details li {float: none; border: 0; margin: 0; padding: 0; min-width: 0; overflow-wrap: anywhere;}
}
@media (max-width: 480px) {
  .imf-site.im-oceanterra-commerce main {width: calc(100% - 32px);}
  :is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) ul.products,
  :is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) ul.products.columns-2,
  :is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) ul.products.columns-3 {grid-template-columns: 1fr;}
  :is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) :is(.woocommerce-result-count, .woocommerce-ordering) {float: none; display: block; width: 100%; margin-bottom: 16px;}
  .imf-site.im-oceanterra-commerce .woocommerce-ordering select {width: 100%;}
  :is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) div.product .woocommerce-tabs ul.tabs li {padding-inline: 12px; margin-inline-end: 4px;}
  :is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) div.product .woocommerce-tabs ul.tabs li a {font-size: 14px;}
  :is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) :is(form.login, form.register, form.checkout_coupon, .woocommerce-customer-details address) {padding: 18px;}
  .imf-site.im-oceanterra-commerce .woocommerce-checkout #payment :is(ul.payment_methods, div.form-row) {padding: 18px;}
}
@media (prefers-reduced-motion: reduce) {
  :is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) :is(a.button, button.button, input.button),
  .imf-site.im-oceanterra-commerce .wc-block-components-button {transition: none;}
}
@media (forced-colors: active) {
  .imf-site.im-oceanterra-commerce {--otc-ink: CanvasText; --otc-muted: CanvasText; --otc-line: CanvasText; --otc-pale: Canvas; --otc-link: LinkText; background: Canvas; color: CanvasText;}
  :is(.imf-site.im-oceanterra-commerce.woocommerce, .imf-site.im-oceanterra-commerce .woocommerce) :is(a.button, button.button, input.button, #respond input#submit),
  .imf-site.im-oceanterra-commerce .wc-block-components-button:not(.is-link) {background: ButtonFace; color: ButtonText; border-color: ButtonText;}
  .imf-site.im-oceanterra-commerce main :where(a, button, input, textarea, select):focus-visible {outline-color: Highlight; box-shadow: none;}
}
