/* Shared civilian marine theme for the storefront. */
body.marine-storefront {
    --marine-blue: #087e9b;
    --marine-radius: 14px;
    --marine-card-radius: 22px;
}
.marine-storefront .page-title-area,
.marine-storefront .banner-area.bg-1 {
    background-image: url('../images/marine/civilian-sailing.png');
    background-size: cover;
    background-position: center 55%;
}
.marine-storefront .page-title-area {
    border-radius: 0 0 32px 32px;
    overflow: hidden;
}
.marine-storefront .shipment-area {
    background-image: url('../images/marine/civilian-logistics.png');
    background-position: center;
}
.marine-storefront .shipment-area::before {
    background: linear-gradient(90deg, rgba(5, 28, 43, .8), rgba(5, 28, 43, .65));
    opacity: 1;
}
.marine-storefront[data-breadcrumb-scene='logistics'] .page-title-area {
    background-image: url('../images/marine/civilian-logistics.png');
    background-position: center 58%;
}
.marine-storefront[data-breadcrumb-scene='cruising'] .page-title-area {
    background-image: url('../images/marine/civilian-cruising.png');
    background-position: center 60%;
}
.marine-storefront .single-testimonials {
    border-radius: 26px;
    border: 1px solid #e8f0f3;
    box-shadow: 0 10px 30px rgba(12, 57, 77, .08);
    overflow: hidden;
}
.marine-storefront .footer-area {
    border-radius: 32px 32px 0 0;
}
.marine-storefront .single-footer-widget .import-link li::before {
    width: 8px;
    height: 8px;
    top: 9px;
    border-radius: 50%;
}
.marine-storefront .single-footer-widget .logo img { border-radius: 10px; }
.marine-storefront .single-footer-widget .social-icon li a i { border-radius: 50%; }
.marine-storefront .go-top {
    width: 44px;
    height: 44px;
    line-height: 44px;
    border-radius: 50%;
    overflow: hidden;
    box-shadow: 0 6px 18px rgba(3, 131, 255, .22);
}
.marine-storefront .go-top::before { border-radius: inherit; }
@media (min-width: 768px) {
    .marine-storefront .banner-area.bg-1 {
        background-image: linear-gradient(90deg, rgba(5, 36, 56, .78), rgba(5, 36, 56, .08)), url('../images/marine/civilian-sailing.png');
    }
}
.marine-storefront .page-title-area::before {
    background: linear-gradient(100deg, rgba(5, 36, 56, .86), rgba(5, 55, 75, .35));
    opacity: 1;
}
.marine-storefront .page-title-area .page-title-content h2,
.marine-storefront .page-title-area .page-title-content ul li,
.marine-storefront .page-title-area .page-title-content ul li a {
    color: #fff;
}
.marine-storefront .page-title-area .page-title-content ul li::before { background-color: #a9e7ef; }
.marine-storefront .default-btn,
.marine-storefront .btn,
.marine-storefront button[type='submit'],
.marine-storefront .contact_cta_button_prominent_2kh65d {
    border-radius: var(--marine-radius);
}
.marine-storefront .default-btn { overflow: hidden; }
.marine-storefront .default-btn::before,
.marine-storefront .default-btn::after { border-radius: inherit; }
.marine-storefront .single-product,
.marine-storefront .single-blog,
.marine-storefront .single-services,
.marine-storefront .card,
.marine-storefront .cart-totals,
.marine-storefront .billing-details,
.marine-storefront .order-details,
.marine-storefront .user-form-content,
.marine-storefront .equipment_item_card_container_2kg76j,
.marine-storefront .blue-box,
.marine-storefront .feature-item {
    border-radius: var(--marine-card-radius);
    box-shadow: 0 8px 28px rgba(12, 57, 77, .07);
}
.marine-storefront .form-control,
.marine-storefront .form-select,
.marine-storefront .nice-select,
.marine-storefront .accordion-item,
.marine-storefront .accordion-title,
.marine-storefront .about-image img,
.marine-storefront .product-details-image,
.marine-storefront .product-img {
    border-radius: var(--marine-radius);
}
.marine-storefront .cart-table { border-radius: var(--marine-radius); }
.marine-storefront :is(a, button, input, select, textarea):focus-visible {
    outline: 3px solid #0787a5;
    outline-offset: 3px;
}
.marine-shipping-notice {
    padding: 10px 20px;
    background: #eaf6f8;
    color: #164c61;
    text-align: center;
    font-size: 14px;
}
@media (max-width: 767px) {
    .marine-storefront .page-title-area { border-radius: 0 0 22px 22px; }
    .marine-storefront .page-title-area .page-title-content h2 { font-size: 32px; }
}

/* Single-row related products, shared by both product catalogs. */
.catalog-load-warning {
    width: min(100%, 320px);
    min-height: 300px;
    box-sizing: border-box;
    margin: 40px auto;
    padding: 36px 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 18px;
    text-align: center;
    background: rgba(255, 255, 255, .55);
    border: 1px solid rgba(148, 163, 184, .25);
    border-radius: 24px;
    box-shadow: 0 12px 36px rgba(15, 43, 65, .06);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}
.catalog-load-warning > i { font-size: 58px; color: #dc3545; }
.catalog-load-warning > strong { font-size: 21px; line-height: 1.4; color: #15324e; }
.catalog-load-warning > p { font-size: 14px; line-height: 1.6; color: #607185; margin: 0; }

.related-products { padding-top: 12px; padding-bottom: 64px; }
.related-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:22px; }
.related-heading h2 { font-size:28px; color:#15324e; margin:0; }
.related-arrow { border:1px solid #d9e8f4; border-radius:50%; width:42px; height:42px; background:#fff; color:#0383ff; font-size:22px; }
.related-track { display:flex; gap:20px; overflow-x:auto; scroll-snap-type:x proximity; padding:4px 2px 18px; }
.related-card { display:flex; flex-direction:column; flex:0 0 calc((100% - 60px)/4); min-width:220px; border:1px solid #e2eaf1; border-radius:20px; overflow:hidden; background:#fff; scroll-snap-align:start; color:#15324e; }
.related-card:hover { border-color:#9acbfa; }
.related-image { height:190px; padding:18px; display:flex; align-items:center; justify-content:center; background:#f7fafc; color:#8396a8; font-size:14px; }
.related-image img { width:100%; height:100%; object-fit:contain; }
.related-info { padding:20px; display:flex; flex:1; flex-direction:column; }
.related-brand { font-size:12px; color:#0383ff; margin-bottom:8px; }
.related-info h3 { font-size:16px; line-height:1.5; overflow-wrap:anywhere; margin:0 0 10px; }
.related-info p { font-size:13px; color:#64748b; overflow-wrap:anywhere; }
.related-link { margin-top:auto; padding-top:10px; color:#0383ff; font-weight:600; font-size:14px; }
@media(max-width:767px) { .related-card { flex-basis:76%; min-width:0; } .related-heading h2 { font-size:24px; } }
