/* Source-inspired homepage blocks. Content and media remain native Gutenberg blocks. */
.clif-hero,.clif-split,.clif-visual,.clif-best { box-sizing:border-box; }
.clif-hero { position:relative; max-width:1428px; margin:0 auto; padding:0 40px; }
.clif-hero figure,.clif-visual figure,.clif-split figure { margin:0; }
.clif-hero figure img,.clif-visual figure img,.clif-split figure img { display:block; width:100%; height:auto; }
.clif-hero figure img { border-radius:40px; }
.clif-hero .clif-mobile-image,.clif-split .clif-mobile-image,.clif-visual .clif-mobile-image { display:none; }
.clif-hero .clif-offer { position:absolute; z-index:2; left:64px; top:18px; margin:0; padding:8px 16px; border-radius:30px; background:#e30613; color:#fff; font-weight:800; font-size:16px; letter-spacing:.02em; }
.clif-best { max-width:1400px; margin:64px auto 0; padding:0 16px; }
.clif-best-head { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.clif-best h2,.clif-split h2 { color:#303030; font-size:34px; line-height:1.2; font-weight:700; text-transform:none; letter-spacing:0; margin:0 0 18px; }
.clif-best-empty { color:#555; padding:20px 0 0; font-size:16px; }
.clif-best-track { display:flex; gap:24px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; margin:0; padding:0 0 10px; }
.clif-best-track::-webkit-scrollbar { display:none; }
.clif-best-track > .product { flex:0 0 calc((100% - 72px)/4); width:calc((100% - 72px)/4); max-width:none; padding:0; scroll-snap-align:start; }
.clif-track-controls { display:flex; gap:8px; }
.clif-track-controls button { display:flex; align-items:center; justify-content:center; min-height:40px; width:40px; padding:0; margin:0; border:1px solid #303030; border-radius:50%; color:#303030; background:white; line-height:1; }
.clif-track-controls svg { display:block; flex:none; width:20px; height:20px; }
.clif-track-controls [data-clif-prev] svg { transform:rotate(90deg); }
.clif-track-controls [data-clif-next] svg { transform:rotate(-90deg); }
.clif-split { display:grid; grid-template-columns:1fr 2fr; align-items:center; max-width:1400px; margin:64px auto 0; }
.clif-split.clif-image-left { grid-template-columns:2fr 1fr; }
.clif-split .clif-copy { padding:40px; }
.clif-split p { font-size:17px; line-height:1.55; color:#303030; margin:0 0 22px; }
.clif-split .wp-block-button__link { display:inline-flex; border-radius:40px; background:#303030; color:#fff; font-size:14px; font-weight:700; padding:15px 26px; text-transform:uppercase; }
.clif-split .wp-block-button__link:hover { background:#005baa; color:#fff; }
.clif-visual { max-width:1400px; margin:64px auto 0; }
.clif-visual img { border-radius:2px; }
@media (max-width:767px) {
 .clif-hero { padding:0 20px; }
 .clif-hero figure img { border-radius:0; }
 .clif-hero .clif-desktop-image,.clif-split .clif-desktop-image,.clif-visual .clif-desktop-image { display:none; }
 .clif-hero .clif-mobile-image,.clif-split .clif-mobile-image,.clif-visual .clif-mobile-image { display:block; }
 .clif-hero .clif-offer { top:8px; left:50%; transform:translateX(-50%); white-space:nowrap; font-size:13px; padding:6px 12px; }
 .clif-best { margin-top:32px; padding:0 16px; }
 .clif-best h2,.clif-split h2 { font-size:26px; }
 .clif-best-track > .product { flex-basis:calc((100% - 16px)/2); width:calc((100% - 16px)/2); }
 .clif-best-track { gap:16px; }
 .clif-track-controls { display:none; }
 .clif-split,.clif-split.clif-image-left { display:flex; flex-direction:column; align-items:stretch; padding:0 16px; margin-top:32px; }
 .clif-split .clif-media { order:0; }
 .clif-split .clif-copy { order:1; padding:16px 0 0; }
 .clif-visual { margin-top:32px; }
}
@media (prefers-reduced-motion:reduce) { .clif-best-track { scroll-behavior:auto; } }

/* The shared header reads the WordPress menu and Flatsome logo settings. */
.clif-header-shell { position:relative; z-index:950; background:#fff; color:#303030; }
.clif-announcement { background:#e30613; color:#fff; padding:7px 16px; text-align:center; font-size:13px; line-height:1.2; font-weight:700; }
.clif-header { height:60px; padding:0 40px; display:flex; align-items:center; gap:32px; background:#fff; }
.clif-header a,.clif-header button { color:#303030; }
.clif-header button,.clif-drawer-heading button,.clif-panel-close { border:0; padding:0; margin:0; min-height:0; background:transparent; line-height:1; box-shadow:none; }
.clif-header button:hover,.clif-drawer-heading button:hover,.clif-panel-close:hover { background:transparent; color:#005baa; box-shadow:none; }
.clif-header svg,.clif-drawer svg,.clif-search-panel svg { display:block; width:24px; height:24px; flex:none; }
.clif-logo { flex:0 0 96px; line-height:1; }
.clif-logo img { display:block; width:96px; height:auto; }
.clif-desktop-nav { flex:1; }
.clif-menu-list,.clif-mobile-menu-list { list-style:none; margin:0; padding:0; }
.clif-menu-list { display:flex; align-items:center; justify-content:center; gap:32px; }
.clif-menu-list li { position:relative; margin:0; }
.clif-menu-list > li > a { display:block; padding:20px 0; font-size:15px; letter-spacing:.03em; font-weight:700; text-transform:uppercase; }
.clif-menu-list .sub-menu { display:none; position:absolute; top:100%; left:-20px; z-index:5; list-style:none; min-width:230px; padding:14px 20px; margin:0; background:white; box-shadow:0 6px 12px #0002; }
.clif-menu-list li:hover > .sub-menu,.clif-menu-list li:focus-within > .sub-menu { display:block; }
.clif-menu-list .sub-menu a { display:block; padding:8px 0; }
.clif-header-actions,.clif-mobile-actions { display:flex; align-items:center; gap:13px; }
.clif-header-actions a,.clif-header-actions button,.clif-mobile-actions button { display:flex; align-items:center; gap:5px; position:relative; }
.clif-signin { font-size:15px; white-space:nowrap; }
.clif-cart-count { position:absolute; top:-7px; right:-8px; min-width:17px; padding:2px; border-radius:50%; background:#e30613; color:#fff; font-size:10px; text-align:center; }
.clif-mobile-actions { display:none; }
.clif-noscript { padding:16px 40px; background:#fff; }
.clif-noscript-menu { margin:0 0 12px; padding-left:20px; }
.clif-noscript form { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0; }
.clif-noscript input[type=search] { max-width:320px; margin:0; }
.clif-search-panel[hidden],.clif-drawer[hidden],.clif-screen[hidden] { display:none !important; }
.clif-search-panel { position:absolute; top:100%; left:0; width:100%; background:#fff; padding:75px max(18px,calc((100% - 910px)/2)) 80px; box-shadow:0 7px 12px #0002; }
.clif-search-panel form { margin:0; }
.clif-search-panel label { display:block; margin-bottom:18px; font-size:14px; letter-spacing:.06em; font-weight:700; }
.clif-search-input { min-height:76px; display:flex; align-items:center; gap:15px; border:1px solid #303030; padding:0 18px; }
.clif-search-input input[type=search] { flex:1; min-width:0; height:72px; margin:0; border:0; box-shadow:none; font-size:26px; background:transparent; }
.clif-search-input button { border:0; margin:0; padding:0; background:transparent; color:#005baa; font-weight:700; }
.clif-panel-close { position:absolute; right:32px; top:24px; }
.clif-screen { position:fixed; inset:0; z-index:10000; background:#0008; }
.clif-drawer { position:fixed; z-index:10001; inset:0 0 0 auto; width:min(488px,100%); display:flex; flex-direction:column; background:#f8f8f8; color:#303030; box-shadow:-5px 0 20px #0002; }
.clif-navigation { inset:0 auto 0 0; width:min(380px,100%); }
.clif-drawer-heading { flex:none; display:flex; align-items:center; justify-content:space-between; padding:25px 32px; font-size:21px; }
.clif-cart-scroll,.clif-navigation nav { flex:1 1 auto; min-height:0; overflow-y:auto; padding:12px 32px 30px; }
.clif-cart-scroll { display:flex; flex-direction:column; overflow:hidden; }
.clif-cart .widget_shopping_cart_content { display:flex; flex:1 1 auto; min-height:0; flex-direction:column; }
.clif-cart .woocommerce-mini-cart { flex:1 1 auto; min-height:0; overflow-y:auto; margin:0; padding:0 10px 0 0; }
.clif-cart .woocommerce-mini-cart__total,.clif-cart .woocommerce-mini-cart__buttons { flex:none; }
.clif-cart .woocommerce-mini-cart-item { min-height:90px; padding:15px 25px 15px 88px !important; }
.clif-cart .woocommerce-mini-cart-item img { width:70px !important; }
.clif-cart .woocommerce-mini-cart-item a:not(.remove) { color:#303030; }
.clif-cart .woocommerce-mini-cart__total { margin:25px 0; }
.clif-cart .woocommerce-mini-cart__buttons a { color:#fff !important; background:#005baa !important; border-radius:30px; text-align:center; }
.clif-cart .return-to-shop a,.clif-cart a.wc-forward { color:#fff !important; background:#005baa !important; border-radius:30px; }
.clif-cart .woocommerce-mini-cart__empty-message { font-size:17px; line-height:1.5; }
.clif-mobile-menu-list li { list-style:none; margin:0; }
.clif-mobile-menu-list a { display:block; padding:12px 0; color:#303030; font-size:16px; font-weight:700; }
.clif-mobile-menu-list .sub-menu { margin:0 0 8px 16px; padding:0; }
.clif-drawer-open { overflow:hidden; }
.clif-header :focus-visible,.clif-drawer :focus-visible,.clif-search-panel :focus-visible,.clif-quick:focus-visible { outline:3px solid #005baa; outline-offset:3px; }
@media (min-width:768px) {
 .clif-header.clif-layout-double { display:grid; height:auto; min-height:60px; grid-template-columns:auto 1fr auto; grid-template-areas:"logo . actions" "nav nav nav"; gap:0 30px; }
 .clif-layout-double .clif-logo { grid-area:logo; }
 .clif-layout-double .clif-header-actions { grid-area:actions; }
 .clif-layout-double .clif-desktop-nav { grid-area:nav; }
 .clif-layout-double .clif-menu-list > li > a { padding:14px 0; }
}

/* Source card uses a square white image, readable title and blue outlined quick shop. */
.product-small .col-inner { position:relative; }
.product-small .col-inner > .badge-container { position:absolute; z-index:3; top:8px; left:8px; margin:0; }
.clif-card { display:flex; flex-direction:column; height:100%; color:#303030; }
.clif-card-image { display:block; aspect-ratio:1; border:1px solid #ececec; border-radius:4px; background:#fff; overflow:hidden; }
.clif-card-image img { width:100%; height:100%; padding:16px; object-fit:contain; }
.clif-card-info { padding:14px 0 12px; flex:1; }
.clif-card-title,.clif-card-price { color:#303030; display:block; font-size:16px; line-height:1.3; font-weight:600; }
.clif-card-price { margin-top:5px; }
.clif-card-price del { font-size:14px; }
.clif-quick { display:block; border:1px solid #005baa; border-radius:26px; color:#005baa !important; background:#fff; padding:10px 14px; text-align:center; font-size:14px; line-height:1.2; font-weight:700; text-transform:uppercase; }
.clif-quick:hover,.clif-quick:focus { color:#fff !important; background:#005baa; }
.single-product .product-title,.product-quick-view-container .product-title { color:#303030; font-size:32px; line-height:1.15; text-transform:none; letter-spacing:0; }
.single-product .price,.product-quick-view-container .price { color:#303030; font-size:19px; }
.single-product .variations select,.product-quick-view-container .variations select { border:1px solid #888; min-height:48px; background:#fff; color:#303030; }
.single-product .single_add_to_cart_button,.product-quick-view-container .single_add_to_cart_button { background:#e30613 !important; color:#fff !important; border-radius:30px; min-height:48px; }
.single-product .single_add_to_cart_button:hover,.product-quick-view-container .single_add_to_cart_button:hover { background:#ab0010 !important; }
.single-product .woocommerce-tabs .tabs a { color:#303030; font-size:15px; letter-spacing:0; }
.single-product .woocommerce-tabs .tabs .active a { color:#005baa; border-color:#005baa; }
.single-product .tagged_as a { color:#005baa; }
.single-product .product-gallery .flickity-prev-next-button,.product-quick-view-container .product-gallery .flickity-prev-next-button { width:40px; height:40px; border:1px solid #303030; border-radius:50%; color:#303030; background:#fff; }
.single-product .product-gallery .flickity-prev-next-button svg,.product-quick-view-container .product-gallery .flickity-prev-next-button svg { width:20px; height:20px; left:9px; top:9px; }
.mfp-content:has(.product-quick-view-container) { max-width:700px; }
.product-quick-view-container { background:#fff; color:#303030; border-radius:5px; overflow:hidden; }
.product-quick-view-container .product-lightbox-inner h1 { color:#303030; font-size:26px; line-height:1.2; letter-spacing:0; text-transform:none; }
.product-quick-view-container .product-lightbox-inner .is-divider { background:#ddd; }
.woocommerce-cart .cart-wrapper,.woocommerce-cart .cart-collaterals { color:#303030; }
.woocommerce-cart .checkout-button,.woocommerce-cart .button { border-radius:30px; }

.clif-footer { margin-top:80px; background:#303030; color:white; padding:60px 40px 28px; }
.clif-footer-grid { max-width:1400px; margin:auto; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; }
.clif-footer h2,.clif-footer-widget p:first-child { font-size:19px !important; font-weight:700; color:#fff !important; margin:0 0 20px; }
.clif-footer ul { list-style:none; margin:0; padding:0; }
.clif-footer li,.clif-footer-widget p { margin:0 0 12px; font-size:14px !important; }
.clif-footer a,.clif-footer-widget p,.clif-footer-widget p a { color:#fff !important; }
.clif-footer a:hover { text-decoration:underline; }
.clif-footer-bottom { max-width:1400px; margin:65px auto 0; padding-top:25px; border-top:1px solid #aaa; font-size:12px; }
@media (max-width:767px) {
 .clif-header { height:42px; padding:0 16px; display:grid; grid-template-columns:1fr auto 1fr; gap:4px; }
 .clif-mobile-actions { display:flex; gap:12px; }
 .clif-desktop-nav,.clif-desktop-search,.clif-signin { display:none !important; }
 .clif-logo,.clif-logo img { width:66px; }
 .clif-logo { flex-basis:auto; }
 .clif-header-actions { justify-content:flex-end; gap:12px; }
 .clif-header svg { width:22px; height:22px; }
 .clif-search-panel { padding:50px 20px 36px; }
 .clif-search-input { min-height:58px; }
 .clif-search-input input[type=search] { height:56px; font-size:20px; }
 .clif-panel-close { right:20px; top:14px; }
 .clif-drawer-heading { padding:20px; }
 .clif-cart-scroll,.clif-navigation nav { padding:10px 20px 24px; }
 .single-product .product-title,.product-quick-view-container .product-title { font-size:26px; }
 .clif-footer { padding:45px 20px 25px; margin-top:48px; }
 .clif-footer-grid { grid-template-columns:1fr; gap:30px; }
 .clif-footer-bottom { margin-top:40px; }
}

/* Product feature: original composition with independently editable content. */
.clif-product-feature { position:relative; max-width:1400px; margin:64px auto 0; overflow:hidden; }
.clif-product-feature .clif-feature-media { position:relative; aspect-ratio:1672 / 941; background:#0b3476; }
.clif-product-feature .clif-feature-media figure { margin:0; width:100%; height:100%; }
.clif-product-feature .clif-feature-media img { display:block; width:100%; height:100%; object-fit:cover; }
.clif-product-feature .clif-feature-mobile { display:none; }
.clif-product-feature .clif-feature-copy { position:absolute; z-index:1; inset:0 50% 0 0; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:4%; text-align:center; }
.clif-product-feature .clif-feature-copy h2 { color:#fff; font-family:'Arial Black',Arial,sans-serif; font-weight:900; font-size:clamp(38px,5.15vw,74px); line-height:.95; letter-spacing:-.025em; text-transform:uppercase; margin:0 0 18px; }
.clif-product-feature .clif-feature-description { color:#fff; max-width:560px; font-size:clamp(14px,1.8vw,26px); line-height:1.2; font-weight:700; margin:0; }
.clif-product-feature .clif-feature-tags { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; width:100%; max-width:540px; margin:clamp(16px,2.65vw,38px) auto 0; }
.clif-product-feature .clif-feature-tag { display:flex; align-items:center; justify-content:center; min-height:clamp(52px,6.5vw,92px); margin:0; padding:10px; border:2px solid #2076bc; border-radius:26px; background:#fff; color:#1266a8; font-size:clamp(12px,1.15vw,17px); line-height:1.15; font-weight:800; text-transform:uppercase; }
.clif-product-feature .wp-block-buttons { justify-content:center; margin-top:clamp(18px,2.9vw,42px); }
.clif-product-feature .wp-block-button__link { display:inline-flex; justify-content:center; align-items:center; min-width:clamp(150px,16vw,230px); min-height:clamp(42px,4.3vw,62px); padding:12px 24px; border:0; border-radius:100px; background:#e30613; color:#fff; font-size:clamp(13px,1.25vw,18px); line-height:1.1; font-weight:800; text-decoration:none; text-transform:uppercase; }
.clif-product-feature .wp-block-button__link:hover,.clif-product-feature .wp-block-button__link:focus { background:#c70e20; color:#fff; }
.clif-product-feature .wp-block-button__link:focus-visible { outline:3px solid #fff; outline-offset:4px; }
@media (max-width:767px) {
 .clif-product-feature { margin-top:32px; }
 .clif-product-feature .clif-feature-media { aspect-ratio:887 / 1774; }
 .clif-product-feature .clif-feature-desktop { display:none; }
 .clif-product-feature .clif-feature-mobile { display:block; }
 .clif-product-feature .clif-feature-copy { inset:41% 0 0; padding:12px 5% 18px; }
 .clif-product-feature .clif-feature-copy h2 { font-size:clamp(32px,9.5vw,50px); margin:0 0 12px; }
 .clif-product-feature .clif-feature-description { font-size:clamp(16px,4.2vw,20px); }
 .clif-product-feature .clif-feature-tags { gap:0; margin-top:22px; }
 .clif-product-feature .clif-feature-tag { min-height:65px; padding:8px 5px; border-radius:0; font-size:clamp(11px,3.1vw,14px); }
 .clif-product-feature .clif-feature-tag:first-child { border-radius:20px 0 0 20px; }
 .clif-product-feature .clif-feature-tag:last-child { border-radius:0 20px 20px 0; }
 .clif-product-feature .wp-block-buttons { margin-top:25px; }
 .clif-product-feature .wp-block-button__link { min-width:205px; min-height:50px; font-size:15px; }
}
