/* CopyMe Store — template one: the WooCommerce Shop page. */
.copyme-store { --cms-navy:#142d5f; --cms-blue:#4e82d5; --cms-violet:#918ce7; --cms-orange:#ff941d; --cms-text:#17233c; --cms-line:#e5eaf3; background:#fff; color:var(--cms-text); }
.copyme-store__hero { position:relative; overflow:hidden; padding:clamp(4.5rem,9vw,7.5rem) 1.5rem clamp(4rem,8vw,6.5rem); background:linear-gradient(116deg,#5c96e9 0%,#778ce7 52%,#aa8eea 100%); color:#fff; text-align:center; }
.copyme-store__hero::before,.copyme-store__hero::after { position:absolute; border:1.7rem solid rgba(255,255,255,.12); border-radius:50%; content:""; }
.copyme-store__hero::before { width:10rem; height:10rem; top:-4rem; left:8%; }.copyme-store__hero::after { width:15rem; height:15rem; right:-6rem; bottom:-9rem; }
.copyme-store__hero-inner { position:relative; z-index:1; max-width:720px; margin:auto; }.copyme-store__eyebrow { margin:0 0 .8rem; color:rgba(255,255,255,.88); font-size:.73rem; font-weight:800; letter-spacing:.14em; }.copyme-store__hero h1 { margin:0; color:#fff; font-size:clamp(2.5rem,5vw,4.5rem); letter-spacing:-.05em; line-height:1; }.copyme-store__hero-inner > p:last-child { max-width:550px; margin:1.2rem auto 0; font-size:1.08rem; line-height:1.6; }
.copyme-store__catalog { width:min(1280px,calc(100% - 3rem)); margin:-2.8rem auto 5rem; position:relative; z-index:2; }.copyme-store__toolbar { padding:1.1rem; border:1px solid var(--cms-line); border-radius:1rem; background:#fff; box-shadow:0 12px 30px rgba(34,61,114,.1); }.copyme-store__categories { display:flex; gap:.55rem; overflow-x:auto; padding:.1rem; scrollbar-width:thin; }.copyme-store__categories a { flex:0 0 auto; border:1px solid #dfe6f2; border-radius:999px; padding:.62rem .95rem; color:#43506a; font-size:.86rem; font-weight:700; line-height:1; text-decoration:none; transition:.2s; }.copyme-store__categories a:hover,.copyme-store__categories a.is-current { border-color:var(--cms-orange); background:var(--cms-orange); color:#fff; }
.copyme-store .woocommerce-breadcrumb { margin:2.25rem 0 1rem; color:#7a879d; font-size:.82rem; }.copyme-store .woocommerce-result-count { margin:0; color:#758097; font-size:.9rem; }.copyme-store .woocommerce-ordering select { min-height:2.65rem; border:1px solid var(--cms-line); border-radius:.55rem; padding:0 .7rem; color:#34415a; background:#fff; }.copyme-store__results { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin:2.2rem 0 1.5rem; }.copyme-store .woocommerce-notices-wrapper { margin-top:1.5rem; }
.copyme-store ul.products { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.35rem; margin:0; padding:0; list-style:none; }.copyme-store ul.products::before,.copyme-store ul.products::after { display:none; }.copyme-store ul.products li.product { float:none; width:auto; min-width:0; margin:0; padding:1rem; border:1px solid var(--cms-line); border-radius:1rem; background:#fff; box-shadow:0 5px 18px rgba(30,54,98,.045); transition:transform .2s ease,box-shadow .2s ease; }.copyme-store ul.products li.product:hover { transform:translateY(-4px); box-shadow:0 16px 30px rgba(30,54,98,.13); }.copyme-store ul.products li.product a img { aspect-ratio:1/1; width:100%; margin:0 0 1rem; object-fit:contain; }.copyme-store ul.products li.product .woocommerce-loop-product__title { min-height:2.7em; margin:.1rem 0 .55rem; padding:0; color:var(--cms-text); font-size:1rem; line-height:1.35; }.copyme-store ul.products li.product .price { margin-bottom:.85rem; color:var(--cms-navy); font-size:.95rem; font-weight:800; }.copyme-store ul.products li.product .button { margin:0; border-radius:.55rem; padding:.7rem .85rem; background:var(--cms-orange); color:#fff; font-size:.82rem; font-weight:800; }.copyme-store ul.products li.product .button:hover { background:#e97e00; }.copyme-store .woocommerce-pagination { margin-top:2.5rem; }.copyme-store .woocommerce-pagination ul { border:0; }.copyme-store .woocommerce-pagination ul li { border:0; margin:.15rem; }.copyme-store .woocommerce-pagination ul li a,.copyme-store .woocommerce-pagination ul li span { border-radius:.45rem; color:var(--cms-navy); }.copyme-store .woocommerce-pagination ul li span.current { background:var(--cms-navy); color:#fff; }
@media (max-width:1024px) { .copyme-store ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); } }@media (max-width:720px) { .copyme-store__catalog { width:min(100% - 2rem,620px); margin-top:-1.8rem; }.copyme-store__results { align-items:flex-start; flex-direction:column; }.copyme-store .woocommerce-ordering { width:100%; }.copyme-store .woocommerce-ordering select { width:100%; }.copyme-store ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; }.copyme-store ul.products li.product { padding:.72rem; }.copyme-store ul.products li.product .woocommerce-loop-product__title { font-size:.88rem; }.copyme-store ul.products li.product .button { width:100%; text-align:center; } }@media (max-width:410px) { .copyme-store ul.products { grid-template-columns:1fr; }.copyme-store__hero { padding-top:4rem; } }

/* Elementor's WooCommerce kit applies a percentage card width; in a CSS grid that
   makes every product only a fraction of its own column. Claim the full column. */
.copyme-store ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); }
.copyme-store ul.products li.product,
.copyme-store .woocommerce ul.products li.product {
  display:flex;
  flex-direction:column;
  width:100% !important;
  min-width:0;
}
.copyme-store ul.products li.product > a:first-child { display:flex; flex:1 1 auto; flex-direction:column; }
.copyme-store ul.products li.product a img { height:220px; aspect-ratio:auto; object-fit:contain; }
.copyme-store ul.products li.product .button { align-self:flex-start; min-width:130px; text-align:center; }
@media (max-width:1024px) { .copyme-store ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px) { .copyme-store ul.products { grid-template-columns:1fr; }.copyme-store ul.products li.product a img { height:250px; } }

/* Category navigation should read as a deliberate set of choices, never a clipped carousel. */
@media (min-width:721px) {
  .copyme-store__categories { flex-wrap:wrap; overflow:visible; justify-content:center; }
}

.copyme-store ul.products li.product .copyme-card-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem; margin-top:auto; }
.copyme-store ul.products li.product .copyme-card-actions .button { display:flex; align-items:center; justify-content:center; gap:.25rem; min-width:0; padding:.72rem .55rem; font-size:.76rem; white-space:nowrap; }
.copyme-store ul.products li.product .copyme-read-more-button { border:1px solid #cfd9e8; background:#fff; color:var(--cms-navy); }
.copyme-store ul.products li.product .copyme-read-more-button:hover { border-color:var(--cms-navy); background:#f3f7fc; color:var(--cms-navy); }
.copyme-store ul.products li.product .copyme-enquire-button { background:#ff941d; color:#fff; }
.copyme-store ul.products li.product .copyme-enquire-button:hover { background:#e97e00; }

/* Store-category sidebar. */
.copyme-store__layout { display:grid; grid-template-columns:235px minmax(0,1fr); gap:2.25rem; align-items:start; }
.copyme-store__sidebar { position:sticky; top:2rem; padding:1.2rem; border:1px solid var(--cms-line); border-radius:1rem; background:#fff; box-shadow:0 8px 24px rgba(30,54,98,.06); }
.copyme-store__sidebar-title { margin:0 0 .9rem; color:var(--cms-navy); font-size:.86rem; font-weight:850; letter-spacing:.03em; text-transform:uppercase; }
.copyme-store__sidebar .copyme-store__categories { display:grid; gap:.25rem; overflow:visible; padding:0; }
.copyme-store__sidebar .copyme-store__categories a { display:flex; align-items:center; min-height:2.55rem; border:0; border-radius:.5rem; padding:.55rem .65rem; color:#46536b; font-size:.87rem; line-height:1.25; }
.copyme-store__sidebar .copyme-store__categories a::after { margin-left:auto; color:#92a0b6; content:'›'; font-size:1.2rem; }
.copyme-store__sidebar .copyme-store__categories a:hover,.copyme-store__sidebar .copyme-store__categories a.is-current { background:#eff5ff; color:var(--cms-navy); }
.copyme-store__sidebar .copyme-store__categories a.is-current { box-shadow:inset 3px 0 0 var(--cms-orange); }
.copyme-store__products-area { min-width:0; }.copyme-store__products-area .woocommerce-breadcrumb { margin-top:0; }
.copyme-store__products-area ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media (max-width:1024px) { .copyme-store__layout { grid-template-columns:200px minmax(0,1fr); gap:1.35rem; }.copyme-store__products-area ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:720px) { .copyme-store__layout { display:block; }.copyme-store__sidebar { position:static; margin-bottom:1.4rem; padding:1rem; }.copyme-store__sidebar-title { margin-bottom:.7rem; }.copyme-store__sidebar .copyme-store__categories { display:flex; flex-wrap:nowrap; overflow-x:auto; gap:.5rem; }.copyme-store__sidebar .copyme-store__categories a { display:block; min-height:0; border:1px solid var(--cms-line); padding:.58rem .75rem; }.copyme-store__sidebar .copyme-store__categories a::after { display:none; }.copyme-store__sidebar .copyme-store__categories a.is-current { background:var(--cms-orange); color:#fff; box-shadow:none; }.copyme-store__products-area ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); } }

/* Full-width bridge from the Shop hero into the catalogue. */
.copyme-store__page-bar { background:#173c7a; color:#fff; }
.copyme-store__page-bar-inner { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; width:min(1280px,calc(100% - 3rem)); margin:auto; padding:1rem 0; }
.copyme-store__page-bar-inner div { display:flex; align-items:baseline; gap:.75rem; }.copyme-store__page-bar strong { font-size:.92rem; }.copyme-store__page-bar span { color:rgba(255,255,255,.73); font-size:.83rem; }.copyme-store__page-bar a { flex:0 0 auto; color:#fff; font-size:.84rem; text-decoration:none; }.copyme-store__page-bar a b { color:#ffb55c; }.copyme-store__page-bar a:hover b { text-decoration:underline; }
.copyme-store__catalog { margin:0 auto 5rem; padding-top:2rem; }
@media (max-width:720px) { .copyme-store__page-bar-inner { align-items:flex-start; flex-direction:column; gap:.55rem; padding:.9rem 0; }.copyme-store__page-bar-inner div { display:block; }.copyme-store__page-bar span { display:block; margin-top:.25rem; }.copyme-store__catalog { padding-top:1.25rem; } }

.copyme-store__term-description { max-width:620px; margin:1.2rem auto 0; color:#fff; font-size:1.08rem; line-height:1.6; }.copyme-store__term-description p { margin:0; }

/* Match Shop and category heroes to the standard internal-page hero height. */
.copyme-store__hero { display:flex; align-items:center; min-height:331px; padding:3rem 1.5rem; }
@media (max-width:720px) { .copyme-store__hero { min-height:280px; padding:3.5rem 1.25rem; } }

/* Shared photographic treatment for every store and category page banner. */
.copyme-store__hero { background:#090d15 url('office-automation-page-hero.png') center / cover no-repeat; }
.copyme-store__hero::before { inset:0; width:auto; height:auto; border:0; border-radius:0; background:linear-gradient(90deg,rgba(3,7,14,.72) 0%,rgba(3,7,14,.46) 49%,rgba(3,7,14,.2) 100%); }

.copyme-store__hero::after { display:none; }
