/* This file is only loaded when the current public page opts into the appearance. */
.html-block-container .header-banner.bg-primary {
    background: #e3f2e9 !important;
    color: #133f3d !important;
    border-bottom: 1px solid #bfd6c9;
    padding-block: 8px !important;
}
.header-banner.bg-primary h5 { font-size: 1rem; font-weight: 650; }
.header-banner.bg-primary p { font-size: .84rem; }
.header-banner.bg-primary .btn-light { color: #15493f; background: #fff; border: 1px solid #b5cfc2; font-size: .88rem; padding: .45rem .85rem; }
@media (max-width: 767px) {
    .header-banner.bg-primary .row:has(> .text-left-content) { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; }
    .header-banner.bg-primary .row:has(> .text-left-content) > div { width: auto; margin-top: 0 !important; }
    .header-banner.bg-primary h5 { font-size: .82rem; line-height: 1.4; }
    .header-banner.bg-primary p { font-size: .73rem; line-height: 1.4; }
    .header-banner.bg-primary .btn-light { font-size: .78rem; padding: .4rem .55rem; }
}
main.sf-interior {
    --sf-ink: #12363d;
    --sf-edge: #cbdcd6;
    --primary-color: var(--sf-teal);
    --primary-dark: var(--sf-teal-dark);
    --bs-primary-rgb: 9, 104, 97;
    --bs-link-color-rgb: 9, 104, 97;
    --bs-link-hover-color-rgb: 8, 78, 75;
    background: linear-gradient(180deg,#e9f2ed 0,#f7faf8 300px,#fff 760px);
    color: var(--sf-ink);
    padding-bottom: 1.5rem;
}
main.sf-interior :is(.breadcrumb-container,.breadcrumb-section) {
    background: transparent !important;
    border-bottom: 1px solid var(--sf-edge);
}
main.sf-interior .breadcrumb a { color: var(--sf-teal); }
main.sf-interior :is(.card,.filters-card,.product-card,.main-image-container) {
    border: 1px solid var(--sf-edge);
    border-radius: 14px;
    box-shadow: 0 5px 20px #203e3a0b;
}
main.sf-interior .btn-primary {
    --bs-btn-color: #fff; --bs-btn-hover-color: #fff;
    --bs-btn-bg: #096861; --bs-btn-border-color: #096861;
    --bs-btn-hover-bg: #084e4b; --bs-btn-hover-border-color: #084e4b;
    --bs-btn-active-bg: #084e4b; --bs-btn-active-border-color: #084e4b;
}
main.sf-interior :is(a,button,summary,input,select,textarea):focus-visible {
    outline: 3px solid #ac6600; outline-offset: 2px;
}
main[data-storefront="Product"] .page-header-section,
main.sf-interior .sf-section-heading,
main[data-storefront="Documentation"] .sf-docs-heading,
main[data-storefront="Contact"] .sf-contact-heading,
main[data-storefront="About"] .hero-about {
    padding: clamp(22px, 3.8vw, 52px);
    border-radius: 18px; color: #fff;
    background: var(--sf-panel);
}
main.sf-interior .sf-section-heading h1 { color: white; margin-bottom: .5rem !important; letter-spacing: -.035em; }
main.sf-interior .sf-section-heading .lead { color: #d2e5e3 !important; margin-bottom: 0 !important; }
main.sf-interior .sf-cart-empty { background: white; border: 1px solid var(--sf-edge); border-radius: 16px; padding-inline: 1rem; }
main.sf-interior .sf-account-entry { overflow: hidden; }
main.sf-interior .sf-account-entry > .card-header { padding: clamp(1.2rem, 3vw, 2.25rem); }
main.sf-interior .sf-account-entry h1 { color: white; font-weight: 650; letter-spacing: -.025em; }
main.sf-interior .form-check-input:checked,
main.sf-interior .list-group-item-action.active { background-color: var(--sf-teal); border-color: var(--sf-teal); color: white; }
main[data-storefront="Page"] .page-header { background: var(--sf-panel) !important; color: white; }
main[data-storefront="Page"] .page-header :is(h1, .breadcrumb-item a) { color: white; }
main[data-storefront="Page"] .page-header :is(.text-muted, .breadcrumb-item.active),
main[data-storefront="Page"] .page-header .breadcrumb-item::before { color: #d2e5e3 !important; }
main[data-storefront="Category"] .category-hero-section > .card.bg-primary { background: var(--sf-panel) !important; }
main[data-storefront="Category"] .category-hero-section h1 { color: white; }
main[data-storefront="Documentation"] .sf-docs-heading button.btn-primary {
    background: var(--sf-highlight) !important; border-color: var(--sf-highlight) !important; color: #153831 !important;
}
main[data-storefront="Documentation"] .sf-docs-heading button.btn-primary:hover { background: #b2ea73 !important; }
main[data-storefront="Checkout"] :is(.address-card,.shipping-method,.payment-method).border-primary { border-color: var(--sf-teal) !important; }
main.sf-interior .checkout-progress .progress-step.active .step-number {
    background: var(--sf-teal); color: white; border-color: var(--sf-teal);
}
main.sf-interior .checkout-progress .progress-step.active .step-label { color: var(--sf-teal-dark); font-weight: 700; }
main.sf-interior .sf-docs-index { max-width: var(--max); margin-inline: auto; }
main[data-storefront="Product"] .page-header-section :is(.page-title,h1),
main[data-storefront="Documentation"] .sf-docs-heading h1,
main[data-storefront="Contact"] .sf-contact-heading h1 { color: white !important; letter-spacing: -.035em; }
main[data-storefront="Product"] .page-header-section :is(.page-subtitle,.text-muted),
main[data-storefront="Documentation"] .sf-docs-heading p,
main[data-storefront="Contact"] .sf-contact-heading p { color: #d4e7e1 !important; }
main[data-storefront="Product"] .product-images { padding: clamp(8px,1.5vw,20px); border-radius: 18px; background: #e8f2ec; }
main[data-storefront="Product"] .product-info { border-top: 3px solid #237e71; padding-top: 16px; }
main[data-storefront="Product"] .product-price-section { background: #f1f6f3; padding: 16px; border-radius: 12px; }
main[data-storefront="Product"] .filters-card { background: white; }
main[data-storefront="Product"] .filters-header { background: #1b554f; }
main[data-storefront="Product"] .filters-header h5,
main[data-storefront="Product"] .filters-header .btn {
    color: #fff;
}
main[data-storefront="Product"] .filters-header .btn {
    background: #17423d; border-color: #b3d4cb;
}
main[data-storefront="Product"] .filters-header .btn:is(:hover, :focus-visible, :active) {
    background: #e4f4ee; border-color: #fff; color: #143d37;
}
main[data-storefront="Product"] .sf-filter-toggle { background: none; border: 0; color: white; font-weight: 650; padding: .35rem 0; }
main[data-storefront="Product"] .page-header-section .text-primary { color: #c3f783 !important; }
main[data-storefront="Product"] .view-mode-toggle .btn-group .btn {
    background: #184744 !important; color: white !important; border-color: #92ada8 !important;
}
main[data-storefront="Product"] .view-mode-toggle .btn-group .btn:is(.active,:hover) {
    background: var(--sf-highlight) !important; color: #153b37 !important;
}
main[data-storefront="Documentation"] .documentation-card { overflow: hidden; }
main[data-storefront="Documentation"] .documentation-cover-image.bg-gradient { background: var(--sf-panel) !important; }
main[data-storefront="Documentation"] .documentation-card .card-title { color: var(--sf-teal) !important; }
main[data-storefront="Documentation"] .sticky-top > .card { border-top: 3px solid #39877b; }
main[data-storefront="Account"] .card-header.bg-primary,
main[data-storefront="Cart"] .card-header.bg-primary,
main[data-storefront="Order"] .card-header.bg-primary,
main[data-storefront="Checkout"] .card-header.bg-primary,
main[data-storefront="Payment"] .card-header.bg-primary { background: var(--sf-panel) !important; color: white; }
main.sf-interior :is(.product-card,.documentation-card,.partner-card):hover { border-color: #438e81; }
@media (max-width: 680px) {
    main[data-storefront="Product"] .page-header-section,
    main[data-storefront="Documentation"] .sf-docs-heading,
    main[data-storefront="Contact"] .sf-contact-heading { padding: 18px 14px; border-radius: 12px; }
}
@media (prefers-reduced-motion: reduce) {
    main.sf-interior :is(.product-card,.documentation-card,.partner-card) { transition: none; transform: none; }
}
