/* Divert Cell V1.0.9 — WooCommerce catalogue fixed wrapper and polished responsive grid */
.dc-shop-hero{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(115deg,#f9fcff 0%,#e9f5ff 52%,#d8ecff 100%);border-bottom:1px solid #dfebf8}
.dc-shop-hero:before{content:"";position:absolute;z-index:-1;width:720px;height:720px;border-radius:50%;right:-160px;top:-470px;background:radial-gradient(circle,#a2d6ffbd,#cceaff3b 62%,transparent 75%)}
.dc-shop-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.82fr);align-items:center;min-height:365px;gap:28px}
.dc-shop-hero-copy{position:relative;z-index:2;padding:57px 0 59px;min-width:0}
.dc-shop-overline{display:flex;align-items:center;gap:9px;letter-spacing:.16em;font-size:11px;font-weight:850;color:#1a71bf;margin-bottom:20px}
.dc-shop-overline-dot{height:8px;width:8px;border-radius:50%;background:var(--dc-blue);box-shadow:0 0 0 5px #d6ecff}
.dc-shop-hero h1{font:700 clamp(40px,5.1vw,75px)/1.05 Georgia,'Times New Roman',serif;letter-spacing:-.045em;color:var(--dc-deep);margin:0 0 18px;overflow-wrap:break-word}
.dc-shop-heading-period{color:var(--dc-blue)}
.dc-shop-hero-copy>p{color:#58728d;font-size:clamp(14px,1.1vw,17px);line-height:1.7;margin:0 0 24px;max-width:590px}
.dc-shop-search{display:flex;align-items:center;gap:12px;padding:7px 7px 7px 16px;border:1px solid #c7ddf1;border-radius:14px;box-shadow:0 12px 30px #1b66ad14;background:white;max-width:605px;min-height:56px}
.dc-shop-search>.dc-icon{color:#4783b9}
.dc-shop-search input{flex:1;min-width:0;border:0;background:transparent;padding:9px 0;outline:none;font-size:13px;color:#163453}
.dc-shop-search input::placeholder{color:#8299b3}
.dc-shop-search button{border:0;white-space:nowrap;border-radius:10px;color:#fff;background:var(--dc-blue);padding:11px 15px;display:flex;gap:8px;align-items:center;justify-content:center;font-size:12px;font-weight:800;transition:transform .2s,background .2s}
.dc-shop-search button:hover{background:#0953a7;transform:translateY(-2px)}
.dc-shop-helper{font-size:11px;color:#6e86a0;display:flex;align-items:center;gap:8px;margin-top:17px}.dc-shop-helper .dc-icon{color:var(--dc-blue)}
.dc-shop-hero-art{height:365px;position:relative;display:flex;align-items:center;justify-content:center;min-width:0;pointer-events:none}
.dc-shop-hero-art img{position:relative;z-index:1;width:min(100%,550px);height:100%;object-fit:contain;filter:drop-shadow(0 19px 24px #0654a01b);animation:dc-shop-image-float 6s ease-in-out infinite}
.dc-shop-art-glow{position:absolute;width:88%;height:74%;background:radial-gradient(ellipse,#82c4ff8a,transparent 70%);border-radius:50%;filter:blur(19px)}
@keyframes dc-shop-image-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.dc-shop-categories{padding-top:28px;padding-bottom:27px;border-bottom:1px solid #e7eff8}
.dc-shop-categories-top{display:flex;align-items:baseline;gap:14px;margin-bottom:15px}.dc-shop-categories-top strong{font-size:16px;color:var(--dc-deep)}.dc-shop-categories-top span{font-size:12px;color:#7187a0}
.dc-shop-category-scroll{display:flex;align-items:center;gap:9px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#bad8ef transparent;padding:2px 2px 11px}
.dc-shop-category-pill{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 18px;border-radius:99px;border:1px solid #dce7f3;background:#fff;color:#395475;font-size:12px;line-height:1.3;white-space:nowrap;font-weight:700;transition:background .2s,border-color .2s,color .2s,transform .2s}
.dc-shop-category-pill:hover{color:#0c62b7;border-color:#8fbfe9;transform:translateY(-2px);background:#f5fbff}
.dc-shop-category-pill.is-current{background:var(--dc-blue);border-color:var(--dc-blue);color:#fff;box-shadow:0 6px 15px #176bc425}

/* All catalogue rules are scoped to the explicit <main> in woocommerce.php.
   Do not depend on an outer .woocommerce div: WooCommerce's PHP renderer
   prints the loop directly and does not produce the old wrapper hooks. */
.dc-shop-content{padding-top:36px;padding-bottom:90px;min-height:52vh;min-width:0}
.dc-shop-content .woocommerce-breadcrumb{margin:0 0 18px;color:#7f94a9;font-size:12px}
.dc-shop-content .woocommerce-products-header__title{display:none}
.dc-shop-content .term-description{color:#637f99;font-size:14px;max-width:850px;margin:0 0 20px;line-height:1.8}

/* V1.0.8: minimal catalogue sorting; result counters are intentionally hidden.
   The real orderby select is kept as a no-JS fallback and form data source. */
.dc-shop-content .dc-shop-toolbar{display:flex;align-items:center;justify-content:flex-end;flex-wrap:nowrap;position:relative;min-height:0;margin:19px 0 23px;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible}
.dc-shop-content .dc-shop-toolbar::after{display:none!important}
.dc-shop-content .dc-shop-toolbar:empty{display:none}
.dc-shop-content p.woocommerce-result-count{display:none!important}
.dc-shop-content form.woocommerce-ordering{float:none!important;clear:none!important;display:flex;align-items:center;justify-content:flex-end;gap:13px;flex-wrap:nowrap;max-width:100%;margin:0!important;position:relative}
.dc-shop-content form.woocommerce-ordering::before{content:none!important}
.dc-shop-sort-label{display:inline-flex;align-items:center;white-space:nowrap;color:#486787;font-size:12px;font-weight:800;letter-spacing:.025em}
.dc-shop-sort-control{position:relative;min-width:0}
/* Native fallback when JS is unavailable. */
.dc-shop-content form.woocommerce-ordering:not(.dc-shop-ordering-enhanced)::before{content:"Sort by"!important;display:inline-flex;align-items:center;white-space:nowrap;color:#486787;font-size:12px;font-weight:800;letter-spacing:.025em}
.dc-shop-content form.woocommerce-ordering select.orderby,
.dc-shop-content form.woocommerce-ordering select{appearance:none;-webkit-appearance:none;min-width:220px;width:auto;max-width:100%;min-height:46px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231764ab' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 15px center;color:#183959;border:1px solid #dbe8f5;border-radius:13px;padding:11px 43px 11px 17px;font-size:12px;font-weight:750;line-height:1.4;box-shadow:0 4px 17px #0b488f0a;outline-offset:3px;cursor:pointer}
.dc-shop-content form.woocommerce-ordering select:focus-visible{outline:3px solid #a0d0ff;border-color:#1a6bc5}
.dc-shop-content form.dc-shop-ordering-enhanced select.orderby{display:none!important}
.dc-shop-sort-trigger{display:flex;align-items:center;justify-content:space-between;gap:18px;min-width:222px;max-width:100%;min-height:47px;padding:10px 15px 10px 18px;border:1px solid #d5e4f3;border-radius:13px;background:#fff;color:#15375d;box-shadow:0 5px 18px #134c8a0e;font-size:12px;font-weight:750;line-height:1.45;font-family:inherit;cursor:pointer;transition:background .2s,border-color .2s,box-shadow .2s;white-space:nowrap}
.dc-shop-sort-trigger:hover{border-color:#90bde7;background:#f8fcff;box-shadow:0 8px 21px #164f9217}
.dc-shop-sort-trigger[aria-expanded="true"]{border-color:#2d83cf;box-shadow:0 0 0 3px #e7f3ff,0 9px 24px #0c4e9417}
.dc-shop-sort-trigger:focus-visible,.dc-shop-sort-choice:focus-visible{outline:3px solid #82bbf4;outline-offset:2px}
.dc-shop-sort-arrow{display:inline-flex;flex:none;align-items:center;justify-content:center;color:#1771bf;transition:transform .2s}
.dc-shop-sort-trigger[aria-expanded="true"] .dc-shop-sort-arrow{transform:rotate(180deg)}
.dc-shop-sort-menu{position:absolute;right:0;top:calc(100% + 9px);width:max(100%,265px);max-width:min(310px,calc(100vw - 36px));max-height:min(370px,65vh);overflow-y:auto;overscroll-behavior:contain;z-index:110;padding:7px;border:1px solid #d9e8f6;border-radius:15px;background:#fff;box-shadow:0 20px 50px #0a37602c,0 4px 15px #0a376014}
.dc-shop-sort-menu[hidden]{display:none!important}
.dc-shop-sort-choice{appearance:none;display:flex;align-items:center;justify-content:space-between;width:100%;gap:10px;min-height:43px;border:0;border-radius:10px;background:transparent;padding:11px 12px;color:#244663;text-align:left;font-size:12px;line-height:1.3;font-weight:650;cursor:pointer;transition:background .15s,color .15s}
.dc-shop-sort-choice:hover,.dc-shop-sort-choice:focus-visible{background:#edf6ff;color:#0864bf}
.dc-shop-sort-choice.is-selected{background:#eaf4ff;color:#0f67bb;font-weight:800}
.dc-shop-sort-check{color:#1670c6;font-size:17px;line-height:1;font-weight:900;flex:none}

/* Grid is explicit here: WooCommerce alone does not guarantee a wrapper with
   class .woocommerce. Float-based core columns must not size our card width. */
.dc-shop-content ul.products,
.dc-shop-content ul.products.columns-2,
.dc-shop-content ul.products.columns-3,
.dc-shop-content ul.products.columns-4,
.dc-shop-content ul.products.columns-5,
.dc-shop-content ul.products.columns-6{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:21px!important;clear:both;list-style:none;margin:0 0 42px!important;padding:0!important;width:100%;align-items:stretch}
.dc-shop-content ul.products::before,.dc-shop-content ul.products::after{content:none!important;display:none!important}
/* A catalogue with just one published product should feel intentional, not leave a tiny card in the far-left corner. */
@supports selector(ul:has(> li:only-child)){.dc-shop-content ul.products:has(> li.product:only-child){grid-template-columns:minmax(0,min(100%,340px))!important;justify-content:center}}
.dc-shop-content ul.products li.product,
.dc-shop-content ul.products[class*="columns-"] li.product{float:none!important;clear:none!important;position:relative;display:flex;flex-direction:column;width:auto!important;max-width:none!important;min-width:0!important;height:100%;margin:0!important;padding:13px 13px 18px!important;border:1px solid #e3edf8;border-radius:19px;overflow:hidden;background:#fff;box-shadow:0 7px 25px #0a355b0c;transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}
.dc-shop-content ul.products li.product:hover{transform:translateY(-4px);border-color:#b5d5ee;box-shadow:0 19px 39px #0d4d891a}
.dc-shop-content ul.products li.product .woocommerce-LoopProduct-link{display:block;flex:1;min-width:0;color:inherit}
.dc-shop-content ul.products li.product a img,
.dc-shop-content ul.products li.product img.attachment-woocommerce_thumbnail{display:block;width:100%!important;max-width:100%;height:auto!important;aspect-ratio:1 / 1;object-fit:contain;background:linear-gradient(145deg,#f7faff,#eef6ff);border-radius:13px;margin:0 0 15px!important;padding:clamp(18px,2.1vw,32px);transition:transform .35s ease}
.dc-shop-content ul.products li.product:hover a img{transform:scale(1.025)}
.dc-shop-content ul.products li.product .woocommerce-loop-product__title{font-size:15px!important;line-height:1.5;letter-spacing:-.012em;font-weight:780;min-height:45px;color:#09264c;padding:0 2px!important;margin:0 0 8px!important;overflow-wrap:anywhere}
.dc-shop-content ul.products li.product .star-rating{margin:0 0 9px}
.dc-shop-content ul.products li.product .price{display:block;min-height:28px;font-size:17px!important;line-height:1.55;font-weight:850!important;color:var(--dc-blue)!important;margin:0 2px 14px!important;white-space:normal}
.dc-shop-content ul.products li.product .price del{font-size:12px;color:#8496aa;opacity:1}
.dc-shop-content ul.products li.product .button,
.dc-shop-content ul.products li.product a.button{margin:auto 2px 0!important;display:inline-flex;align-items:center;justify-content:center;min-height:43px;width:fit-content;max-width:calc(100% - 4px);font-size:12px;font-weight:800;line-height:1.25;padding:12px 17px;border:0;border-radius:10px;background:var(--dc-blue);color:#fff;box-shadow:0 6px 12px #176bc41d;white-space:normal;text-align:center;transition:background .2s ease,transform .2s ease}
.dc-shop-content ul.products li.product .button:hover{background:#0a509b;color:#fff;transform:translateY(-1px)}
.dc-shop-content ul.products li.product .added_to_cart{font-size:11px;color:var(--dc-blue);padding:9px 4px 0;font-weight:700}
.dc-shop-content ul.products li.product .onsale{position:absolute;z-index:2;right:23px!important;top:22px!important;left:auto!important;min-width:auto;min-height:auto;background:#e9486c;color:#fff;font-size:11px;font-weight:800;padding:4px 11px;border-radius:9px;line-height:1.4}

/* Native WooCommerce pagination and empty-state support. */
.dc-shop-content .woocommerce-pagination{clear:both;margin-top:28px}
.dc-shop-content .woocommerce-pagination ul{display:flex;gap:9px;justify-content:center;flex-wrap:wrap;border:0;margin:0;padding:0;list-style:none}
.dc-shop-content .woocommerce-pagination ul li{float:none!important;border:0!important}
.dc-shop-content .woocommerce-pagination ul li a,.dc-shop-content .woocommerce-pagination ul li span{min-width:43px;min-height:43px;display:grid;place-items:center;background:#f2f8ff;border:1px solid #dceaf7;border-radius:11px;color:#2b547e;font-weight:700;padding:10px}
.dc-shop-content .woocommerce-pagination ul li span.current,.dc-shop-content .woocommerce-pagination ul li a:hover{background:var(--dc-blue);border-color:var(--dc-blue);color:#fff}
.dc-shop-content .woocommerce-info{border-top:3px solid var(--dc-blue);border-radius:12px;background:#f5faff;color:#214363;line-height:1.6;padding:22px 25px 22px 52px}
@media(max-width:1140px){.dc-shop-content ul.products,.dc-shop-content ul.products[class*="columns-"]{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:1020px){.dc-shop-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,.67fr)}.dc-shop-hero-art{height:305px}.dc-shop-hero-grid{min-height:305px}.dc-shop-hero-copy{padding:45px 0}}
@media(max-width:760px){
 .dc-shop-hero-grid{grid-template-columns:minmax(0,1fr);gap:0}
 .dc-shop-hero-copy{padding:43px 0 20px}
 .dc-shop-hero-art{height:155px;margin-top:-18px;justify-content:flex-end}
 .dc-shop-hero-art img{width:55%;min-width:170px;max-height:220px;object-position:right center}
 .dc-shop-art-glow{width:55%;right:0}
 .dc-shop-hero h1{font-size:clamp(39px,8.3vw,56px)}
 .dc-shop-categories{padding-top:23px;padding-bottom:18px}
 .dc-shop-content{padding-top:24px}
 .dc-shop-content .dc-shop-toolbar{margin-top:18px;margin-bottom:20px}
 .dc-shop-content ul.products,.dc-shop-content ul.products[class*="columns-"]{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
 .dc-shop-content ul.products li.product .woocommerce-loop-product__title{font-size:13px!important;min-height:39px}
 .dc-shop-content ul.products li.product .price{font-size:15px!important}
 .dc-shop-content ul.products li.product a img{padding:15px}
}
@media(max-width:520px){
 .dc-shop-content .dc-shop-toolbar{justify-content:flex-end;align-items:center;margin:16px 0 19px}
 .dc-shop-content form.woocommerce-ordering{justify-content:flex-end;max-width:100%;gap:9px}
 .dc-shop-sort-label{font-size:11px}
 .dc-shop-sort-trigger{min-width:185px;max-width:calc(100vw - 120px);font-size:12px;padding:10px 12px}
 .dc-shop-content form.woocommerce-ordering select{min-width:0;max-width:calc(100vw - 120px);font-size:12px}
 .dc-shop-sort-menu{width:max(100%,255px)}
 .dc-shop-content ul.products li.product{padding:9px 9px 13px!important;border-radius:14px}
 .dc-shop-content ul.products li.product a img{padding:11px;border-radius:10px;margin-bottom:11px!important}
 .dc-shop-content ul.products li.product .woocommerce-loop-product__title{font-size:12px!important}
 .dc-shop-content ul.products li.product .price{font-size:14px!important;margin-bottom:11px!important}
 .dc-shop-content ul.products li.product .button{min-height:37px;font-size:11px;padding:9px 10px}
 .dc-shop-categories-top{gap:7px;flex-direction:column}
}
@media(max-width:380px){.dc-shop-overline{font-size:10px}.dc-shop-hero-copy>p{font-size:13px}.dc-shop-search{padding:6px 6px 6px 12px;gap:7px}.dc-shop-search input{font-size:12px}.dc-shop-search button{padding:10px 11px;font-size:11px}.dc-shop-hero-art{height:135px}}
@media(prefers-reduced-motion:reduce){.dc-shop-hero-art img{animation:none}.dc-shop-category-pill,.dc-shop-search button,.dc-shop-content ul.products li.product,.dc-shop-content ul.products li.product a img{transition:none!important}}

/* V1.0.9 product-first catalogue, inspired by premium electronics storefronts.
   The full promotional hero remains an optional Appearance setting. */
.dc-shop-intro{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(112deg,#fafcff 0%,#f2f8ff 58%,#e9f4ff 100%);border-bottom:1px solid #e5edf8}
.dc-shop-intro:after{content:"";position:absolute;right:-115px;top:-170px;width:370px;height:370px;border:1px solid #d0e6fc88;border-radius:50%;z-index:-1}
.dc-shop-intro-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:154px;padding-top:26px;padding-bottom:26px}
.dc-shop-intro-copy{min-width:0;max-width:950px}
.dc-shop-intro-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:10px;font-weight:850;letter-spacing:.135em;color:#2370b7;margin-bottom:8px}
.dc-shop-intro-spark{color:#2587de;font-size:13px}
.dc-shop-intro h1{font:700 clamp(33px,3.9vw,53px)/1.1 Georgia,'Times New Roman',serif;letter-spacing:-.045em;margin:0 0 7px;color:var(--dc-deep);overflow-wrap:break-word}
.dc-shop-intro p{font-size:13px;line-height:1.6;color:#597895;margin:0;max-width:650px}
.dc-shop-intro-mark{align-self:stretch;position:relative;display:flex;align-items:center;justify-content:center;min-width:116px;color:#1b71c4;opacity:.08;font:700 100px/1 Georgia,serif;letter-spacing:-.08em;user-select:none}
.dc-shop-categories{padding-top:19px;padding-bottom:16px}
.dc-shop-categories-top{margin-bottom:10px}
.dc-shop-category-scroll{padding-bottom:6px}
.dc-shop-category-pill{min-height:39px;padding:8px 16px}
.dc-shop-content{padding-top:17px;min-height:45vh}
.dc-shop-content .dc-shop-toolbar{margin:8px 0 20px}
@media(max-width:760px){
 .dc-shop-intro-inner{min-height:118px;padding-top:19px;padding-bottom:19px}
 .dc-shop-intro h1{font-size:clamp(31px,7.3vw,43px)}
 .dc-shop-intro-mark{min-width:55px;font-size:59px}
 .dc-shop-intro p{font-size:12px}
 .dc-shop-categories{padding-top:17px;padding-bottom:10px}
 .dc-shop-content{padding-top:14px}
 .dc-shop-content .dc-shop-toolbar{margin:8px 0 16px}
}
@media(max-width:440px){
 .dc-shop-intro-inner{min-height:106px;padding-top:16px;padding-bottom:16px}
 .dc-shop-intro-eyebrow{font-size:9px;letter-spacing:.08em}
 .dc-shop-intro-mark{display:none}
 .dc-shop-intro h1{font-size:34px}
 .dc-shop-intro p{max-width:32ch}
}

@keyframes dc-shop-intro-appear{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
.dc-shop-intro-copy{animation:dc-shop-intro-appear .5s ease-out both}
@media(prefers-reduced-motion:reduce){.dc-shop-intro-copy{animation:none}}
