/* SummitOcean storefront home — pixel-density and responsive behaviour follow the supplied UI. */
:root{--so-product-title-size:13px;--so-product-title-mobile-size:14px}
.storefront-home{padding:0 0 10px;background:#fff}
.storefront-home>.wp-block-summitocean-product-grid,.storefront-home>.so-product-section{padding:8px 0!important}
.so-slider{padding:8px var(--so-store-gutter) 0;overflow:visible;background:#fff}
.so-slider>.so-hero-slide{max-width:var(--so-store-width);margin:auto}
.so-hero-slide{min-height:var(--slide-desktop-height,300px);padding:0;color:var(--so-navy);background:#eef2f4}
.so-hero-slide__layout{position:relative;display:grid;width:100%;min-height:inherit;grid-template-columns:45% 55%;overflow:hidden;border:0;border-radius:7px;background:#eef2f4;box-shadow:none}
.so-hero-slide__content{z-index:3;min-height:inherit;padding:20px clamp(58px,9vw,150px);padding-right:24px;justify-content:center}
.so-hero-slide__content:after{position:absolute;z-index:-1;inset:0 -120px 0 0;pointer-events:none;content:"";background:linear-gradient(90deg,rgba(247,249,250,.98) 0%,rgba(247,249,250,.94) 62%,rgba(247,249,250,0) 100%)}
.so-hero-slide .eyebrow{margin:0 0 7px;color:var(--eyebrow-color,var(--so-primary));font-family:var(--eyebrow-font,var(--so-font-body));font-size:var(--eyebrow-size,13px);font-weight:var(--eyebrow-weight,600);line-height:var(--eyebrow-lh,1.4);letter-spacing:var(--eyebrow-ls,0)}
.so-hero-slide__content h1,.so-hero-slide__content h2{max-width:min(var(--title-max,430px),100%);margin:0 0 6px;color:var(--title-color,var(--so-navy));font-family:var(--title-font,var(--so-font-heading));font-size:var(--title-size,var(--so-h2,42px));font-weight:var(--title-weight,var(--so-heading-weight,800));line-height:var(--title-lh,var(--so-heading-lh,1.15));letter-spacing:var(--title-ls,var(--so-heading-ls,-.025em))}
.so-hero-slide__description{margin:0 0 4px;color:var(--description-color,var(--so-navy));font-family:var(--description-font,inherit);font-size:var(--description-size,16px);font-weight:var(--description-weight,600);line-height:var(--description-lh,1.5);letter-spacing:var(--description-ls,0)}
.so-hero-slide__offer{display:flex;gap:8px;margin-top:5px;align-items:center}.so-hero-slide__offer strong{color:var(--price-color,var(--so-orange));font-family:var(--price-font,var(--so-font-body));font-size:var(--price-size,27px);font-weight:var(--price-weight,800)}
.so-hero-slide__saving{display:flex;gap:10px;align-items:center;color:var(--regular-color,#7b8289);font-family:var(--regular-font,inherit);font-size:var(--regular-size,14px);font-weight:var(--regular-weight,400)}.so-hero-slide__saving span{padding:2px 5px;border-radius:var(--badge-radius,4px);color:var(--badge-color,var(--so-orange));font-family:var(--badge-font,inherit);font-size:var(--badge-size,14px);background:var(--badge-bg,transparent);font-weight:700}
.so-hero-slide .button-group{gap:10px;margin-top:9px}.so-hero-slide .button{min-width:102px;min-height:37px;padding:6px 17px}.so-hero-slide .hero-primary{border-color:var(--primary-border,var(--so-button));border-radius:var(--primary-radius,5px);color:var(--primary-text,var(--so-button-text))!important;font-family:var(--primary-font,var(--so-font-button));font-size:var(--primary-size,14px);font-weight:var(--primary-weight,700);background:var(--primary-bg,var(--so-button))}.so-hero-slide .hero-primary:hover{background:var(--primary-hover,var(--so-button-hover))}.so-hero-slide .hero-secondary{border-color:var(--secondary-border,var(--so-navy));border-radius:var(--secondary-radius,5px);color:var(--secondary-text,var(--so-navy))!important;font-family:var(--secondary-font,var(--so-font-button));font-size:var(--secondary-size,14px);font-weight:var(--secondary-weight,700);background:var(--secondary-bg,#fff)}.so-hero-slide .hero-secondary:hover{background:var(--secondary-hover,#eef4f7)}
.so-hero-slide__media{position:relative;min-width:0;overflow:hidden}.so-hero-slide__media picture{display:block;width:100%;height:100%}
.so-hero-slide__image{position:absolute!important;inset:0;width:100%;height:100%!important;object-fit:var(--slide-fit,cover);object-position:var(--slide-focus,center center)}
.so-hero-slide__media:before{position:absolute;z-index:2;top:0;bottom:0;left:0;width:clamp(150px,18vw,290px);pointer-events:none;content:"";background:linear-gradient(90deg,#f7f9fa 0%,rgba(247,249,250,.96) 12%,rgba(247,249,250,.72) 42%,rgba(247,249,250,.28) 72%,rgba(247,249,250,0) 100%)}
.so-hero-slide__media:after{position:absolute;z-index:1;inset:0;pointer-events:none;content:"";background:var(--slide-overlay-color,#062b46);opacity:var(--slide-overlay,.3)}
.so-hero-slide__label{align-self:flex-start;padding:3px 8px;margin-bottom:5px;border-radius:var(--label-radius,4px);color:var(--label-color,#fff);font-family:var(--label-font,inherit);font-size:var(--label-size,12px);font-weight:var(--label-weight,700);background:var(--label-bg,var(--so-orange))}
.so-slider__controls{right:9%;bottom:16px;left:auto}.so-slider__controls>[data-pause]{display:none}.so-slider__controls>button{width:33px;height:33px}.so-slider__dots button{width:11px;height:11px}
.service-strip{max-width:var(--so-store-width);margin:0 auto 3px;border:1px solid #e8ebef;border-top:0;border-radius:0 0 7px 7px;box-shadow:0 3px 10px rgba(6,43,70,.04)}
.service-grid{padding:6px 0}.service-grid>.assurance-item{min-height:56px;padding:6px 24px;justify-content:center}.service-grid>.assurance-item>b{flex:0 0 37px;width:37px;height:37px;font-size:13px}.service-grid>.assurance-item strong{font-size:15px}.service-grid>.assurance-item small{font-size:11px}
.summitocean-featured-products{display:grid!important;max-width:var(--so-store-width);padding:0!important;margin:0 auto;grid-template-columns:1fr 1fr;gap:8px}
.summitocean-featured-products>.wp-block-column{min-width:0;margin:0!important}
.summitocean-featured-products .so-product-section{height:100%;padding:5px 12px 10px!important;border:1px solid #e5e9ed;border-radius:7px;box-shadow:0 2px 8px rgba(6,43,70,.03)}
.section-heading{min-height:29px;margin:0 0 4px;align-items:center}.section-heading h2,.storefront-home .section-heading h2{margin:0;font-size:17px;font-weight:800;letter-spacing:0}
.section-heading a{padding:0;border:0;color:var(--so-navy);font-size:11px}.section-heading a:after{margin-left:5px;content:"→"}
.product-section-more{display:flex;padding-top:10px;justify-content:flex-end}.product-section-more a{display:inline-flex;min-height:30px;padding:4px 2px;align-items:center;gap:6px;color:var(--so-navy);font-size:12px;font-weight:750;transition:.2s}.product-section-more a:hover{color:var(--so-orange);transform:translateX(2px)}
.so-product-section.source-all .product-section-more{padding-top:32px;justify-content:center}.so-product-section.source-all .product-section-more .button{min-height:44px;padding:10px 24px;border-radius:8px;color:#fff!important;background:var(--so-orange);transform:none}.so-product-section.source-all .product-section-more .button:hover,.so-product-section.source-all .product-section-more .button:focus-visible{color:#fff!important;background:var(--so-button-hover);box-shadow:0 8px 20px rgba(255,106,26,.22);transform:translateY(-2px)}
.storefront-home>.so-product-section.source-latest .product-section-more{padding-top:24px;justify-content:center}.storefront-home>.so-product-section.source-latest .product-section-more .button{min-height:44px;padding:10px 28px;border-radius:999px;transform:none}
.storefront-home .product-grid{display:grid;grid-template-columns:repeat(var(--so-cols),minmax(0,1fr));gap:8px}
.product-card{position:relative;overflow:hidden;border:1px solid #edf0f2;border-radius:6px;background:#fff;box-shadow:0 2px 8px rgba(6,43,70,.035);transition:.2s}
.product-card:hover{box-shadow:0 9px 25px rgba(6,43,70,.13);transform:translateY(-3px)}
.product-card__media{aspect-ratio:1.25/1;border-radius:0;background:linear-gradient(145deg,#fafafa,#edf0f2)}
.product-card__image{object-fit:contain!important}.product-card__body{padding:7px 8px 8px}
.product-card__category,.product-card__excerpt{display:none}.storefront-home .so-product-section .product-card h2.product-card__title{min-height:2.45em;margin:0 0 3px;font-size:var(--so-product-title-size)!important;font-weight:700;line-height:1.22;letter-spacing:0;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.product-card .price{font-size:13px;line-height:1.2}.product-card .price del{font-size:10px}
.product-card__rating{display:flex;margin-top:4px;align-items:center;gap:4px}.product-card__rating .star-rating{margin:0;font-size:10px}.product-card__rating small{font-size:9px}
.product-card__actions{position:absolute;right:7px;bottom:7px;margin:0}.product-card__actions .button{width:28px;min-width:28px;height:28px;min-height:28px;padding:0;overflow:hidden;border-radius:50%;color:transparent!important;font-size:0}
.product-card__actions .button:after{display:block;width:16px;height:16px;content:"";background:#fff;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3h2l2.4 11.2a2 2 0 0 0 2 1.6h7.8a2 2 0 0 0 2-1.6L21 7H6'/%3E%3Cpath d='M10 20h.01M18 20h.01'/%3E%3C/svg%3E") center/contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3h2l2.4 11.2a2 2 0 0 0 2 1.6h7.8a2 2 0 0 0 2-1.6L21 7H6'/%3E%3Cpath d='M10 20h.01M18 20h.01'/%3E%3C/svg%3E") center/contain no-repeat}.product-card__footer{padding-right:30px}
.product-card__badges{position:absolute;z-index:2;top:7px;left:7px;display:flex;gap:3px}.product-card__badges .badge{position:static;padding:2px 5px;border-radius:3px;font-size:9px}.badge--new{background:var(--so-orange)}
.storefront-home>.so-product-section{max-width:var(--so-store-width);padding:18px 12px 20px!important;margin:5px auto 0;border:1px solid #e5e9ed;border-radius:7px}
.storefront-home>.so-product-section .product-card__media{aspect-ratio:1.2/1}
.storefront-home>.so-category-section{max-width:var(--so-store-width);padding:18px 12px 20px!important;margin:8px auto 5px;border:1px solid #e5e9ed;border-radius:7px;background:#fff}
.storefront-home>.so-guide-cards{border:0;border-radius:0;background:transparent;box-shadow:none}
.storefront-home>.so-guide-cards .section-heading,.storefront-home>.so-product-section .section-heading{position:relative;min-height:0;padding:0 0 10px;margin:0 0 18px;align-items:flex-start}
.storefront-home>.so-guide-cards .section-heading:after,.storefront-home>.so-product-section .section-heading:after{position:absolute;bottom:0;left:0;width:32px;height:2px;border-radius:2px;pointer-events:none;content:"";background:var(--so-accent,var(--so-orange))}
.storefront-home>.so-guide-cards .section-heading h2,.storefront-home>.so-product-section .section-heading h2{display:block;margin:0;color:#0f2027;font-size:24px;font-weight:600;line-height:1.35;letter-spacing:0}
.storefront-home>.so-guide-cards .section-heading h2:before,.storefront-home>.so-product-section .section-heading h2:before{display:none;content:none}
.storefront-home>.so-category-section .category-grid{grid-template-columns:repeat(var(--so-cols),minmax(0,1fr))!important;gap:8px}
.storefront-home>.so-category-section .category-card{border-radius:7px;box-shadow:0 2px 8px rgba(6,43,70,.035)}
.storefront-home>.so-category-section .category-card__media{aspect-ratio:3/2}
.storefront-home>.so-category-section .category-card__body{padding:10px 11px 11px}
.storefront-home>.so-category-section .category-card__body strong{font-size:14px}
.storefront-home>.so-category-section .category-card__body small{font-size:10px}
.storefront-home>.so-category-section .category-card__body em{right:9px;bottom:9px;width:28px;height:28px}
.storefront-home>.so-category-section .category-card__body em:after{width:28px;height:28px;font-size:13px}
.storefront-home>.so-guide-cards .guide-card-grid{display:grid;grid-template-columns:repeat(var(--so-cols),minmax(0,1fr));gap:10px}
.storefront-home>.so-guide-cards .guide-card{display:block;overflow:hidden;aspect-ratio:4/3;border:1px solid rgba(15,32,39,.08);border-radius:9px;background:#eef2f4;box-shadow:0 2px 8px rgba(15,32,39,.08);transition:box-shadow .22s ease,transform .22s ease}
.storefront-home>.so-guide-cards .guide-card__image{display:block;width:100%;height:100%;object-fit:cover}
@media(hover:hover) and (pointer:fine){.storefront-home>.so-guide-cards .guide-card:hover{box-shadow:0 5px 14px rgba(15,32,39,.12);transform:translateY(-2px)}}
.storefront-home>.so-guide-cards .guide-card:focus-visible{outline:3px solid var(--so-orange);outline-offset:3px}
.is-carousel .carousel-arrow{top:37%;width:28px;height:28px;border:0}.carousel-arrow--prev{left:-9px}.carousel-arrow--next{right:-9px}
@media(min-width:768px) and (max-width:1180px){
 .so-hero-slide{min-height:var(--slide-tablet-height,360px)}.so-hero-slide__content{min-height:var(--slide-tablet-height,360px);padding-left:55px}.summitocean-featured-products{width:calc(100% - 40px)}
 .storefront-home .product-grid{grid-template-columns:repeat(var(--so-tablet-cols),minmax(0,1fr))}
 .storefront-home>.so-guide-cards .guide-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:767px){
 .storefront-home{padding-bottom:20px}.so-slider{padding:0}.so-slider>.so-hero-slide{max-width:none}
 .so-hero-slide{min-height:var(--slide-mobile-height,455px)}
 .so-hero-slide__layout{display:block;min-height:inherit;border-radius:0;background:#dcebf2}
 .so-hero-slide__media{position:absolute;inset:0}.so-hero-slide__media:before{display:none}.so-hero-slide__media:after{background:linear-gradient(180deg,rgba(240,248,251,.32),rgba(6,43,70,.06));opacity:1}
 .so-hero-slide__content{position:relative;min-height:inherit;padding:24px 20px 170px;justify-content:flex-start}
 .so-hero-slide__content:after{inset:0;background:linear-gradient(180deg,rgba(242,248,251,.96) 0,rgba(242,248,251,.72) 47%,rgba(242,248,251,0) 70%)}
 .so-hero-slide .eyebrow{margin-top:0;font-size:var(--eyebrow-mobile-size,12px)}.so-hero-slide__content h1,.so-hero-slide__content h2{max-width:min(var(--title-max,310px),100%);font-size:var(--title-mobile-size,29px)}.so-hero-slide__description{font-size:var(--description-mobile-size,14px)}
 .so-hero-slide__offer strong{font-size:25px}.so-hero-slide__offer span{font-size:11px}
 .so-hero-slide .button-group{display:flex;width:auto;gap:9px;margin-top:10px}.so-hero-slide .button{min-width:94px;min-height:44px;padding:8px 12px}
 .so-slider__controls{right:auto;bottom:13px;left:50%;transform:translateX(-50%)}.so-slider__controls>[data-prev],.so-slider__controls>[data-next]{display:none}
 .service-strip{width:calc(100% - 30px);margin:-1px auto 12px;border-radius:17px;box-shadow:0 4px 18px rgba(6,43,70,.1)}
 .storefront-home .service-strip .service-grid{display:grid!important;box-sizing:border-box;width:100%;max-width:100%;padding:6px;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0}
 .storefront-home .service-grid>.assurance-item{box-sizing:border-box;width:100%;max-width:100%;min-width:0!important;min-height:92px;height:92px;padding:7px 2px;justify-content:center;align-items:center;flex-direction:column;gap:4px;border:0!important;border-right:1px solid #edf0f2!important;text-align:center;overflow:hidden}
 .storefront-home .service-grid>.assurance-item:last-child{border-right:0!important}
 .storefront-home .service-grid>.assurance-item>b{flex:0 0 30px;width:30px;height:30px;font-size:11px}.storefront-home .service-grid>.assurance-item>.assurance-item__copy{display:flex;width:100%;min-width:0;align-items:center;justify-content:center;flex-direction:column;gap:1px}.storefront-home .service-grid>.assurance-item>.assurance-item__copy strong,.storefront-home .service-grid>.assurance-item>.assurance-item__copy small{display:block!important;width:100%;margin:0;text-align:center;white-space:normal;overflow-wrap:anywhere}.storefront-home .service-grid>.assurance-item>.assurance-item__copy strong{font-size:clamp(10px,3vw,12px);line-height:1.25}.storefront-home .service-grid>.assurance-item>.assurance-item__copy small{font-size:clamp(9px,2.6vw,11px);line-height:1.2}
 .summitocean-featured-products{display:block!important;width:auto;margin:0 15px!important}.summitocean-featured-products .so-product-section{margin-bottom:8px}
 .storefront-home>.so-product-section{width:auto;padding:16px 0 18px!important;margin:8px 15px 0;border:0}
 .storefront-home>.so-product-section>.container,.summitocean-featured-products .so-product-section>.container{width:100%;max-width:none}
 .storefront-home .product-grid,.storefront-home .is-carousel .product-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px;overflow:visible!important;scroll-snap-type:none}
 .storefront-home .is-carousel .product-card{min-width:0!important}
 .storefront-home .carousel-arrow{display:none!important}
 .section-heading{margin-bottom:7px}.section-heading h2,.storefront-home .section-heading h2{font-size:17px}.section-heading a{font-size:11px}.product-section-more{padding-top:9px}.product-section-more a{font-size:12px}.storefront-home>.so-product-section.source-latest .product-section-more .button{width:100%;max-width:100%}
 .product-card__media,.storefront-home>.so-product-section .product-card__media{aspect-ratio:1/1}.product-card__body{padding:8px}
 .storefront-home .so-product-section .product-card h2.product-card__title{font-size:var(--so-product-title-mobile-size)!important}.product-card .price{font-size:14px}.product-card__actions{right:7px;bottom:8px}
 .storefront-home .product-card__actions .button{width:44px;min-width:44px;height:44px;min-height:44px}
 .storefront-home .so-slider__dots{gap:0}
 .storefront-home .so-slider__dots button,.storefront-home .so-slider__dots button.is-active{position:relative;width:44px;height:44px;border:0;background:transparent}
 .storefront-home .so-slider__dots button:before{display:block;width:11px;height:11px;border-radius:50%;content:"";background:rgba(6,43,70,.35)}
 .storefront-home .so-slider__dots button.is-active:before{background:var(--so-navy)}
 .storefront-home>.so-category-section{width:auto;padding:16px 12px 18px!important;margin:8px 15px 5px}
 .storefront-home>.so-guide-cards .section-heading h2,.storefront-home>.so-product-section .section-heading h2{font-size:22px}
 .storefront-home>.so-category-section .category-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px}
 .storefront-home>.so-guide-cards{padding-right:0!important;padding-left:0!important}
 .storefront-home>.so-guide-cards>.container{width:100%;max-width:none;margin-right:0;margin-left:0}
 .storefront-home>.so-guide-cards .section-heading,.storefront-home>.so-product-section .section-heading{margin-right:0;margin-left:0}
 .storefront-home>.so-guide-cards .guide-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
}

/* v5.4.5 mobile service cards: retain the editable title and description in
 * the same markup, but hide only the description in the compact phone UI. */
@media(max-width:767px){
 .storefront-home .service-strip .service-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
 .storefront-home .service-grid>.assurance-item{height:78px;min-height:78px;padding:7px 2px;gap:4px}
 .storefront-home .service-grid>.assurance-item>.assurance-item__copy small{display:none!important}
 .storefront-home .service-grid>.assurance-item>.assurance-item__copy strong{display:block!important;margin:0;line-height:1.25;text-align:center;white-space:normal}
}
