/* APC Studio storefront: isolated component rules, inherited typeface and RTL. */
.apc-carousel { --apc-gap:20px; --apc-desktop:calc((100% - 60px)/4); --apc-tablet:calc((100% - 20px)/2); --apc-mobile:100%; --apc-accent:#6258e8; --apc-surface:#fff; --apc-ink:#1d2639; --apc-muted:#81899a; --apc-card-border:#e8eaf0; --apc-image-bg:#f7f8fb; width:100%; max-width:100%; box-sizing:border-box; color:var(--apc-ink); font-family:inherit; line-height:1.6; text-align:start; }
.apc-carousel *, .apc-carousel *::before, .apc-carousel *::after { box-sizing:border-box; }
.apc-carousel .apc-header { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:24px; }
.apc-carousel .apc-heading-group { min-width:0; }
.apc-carousel .apc-eyebrow { display:flex; gap:8px; align-items:center; color:var(--apc-accent); font-size:12px; letter-spacing:.2px; font-weight:700; margin-bottom:5px; }
.apc-carousel .apc-eyebrow span { display:block; width:15px; height:3px; border-radius:10px; background:currentColor; }
.apc-carousel .apc-heading { color:var(--apc-ink); font-size:clamp(21px,2.3vw,31px); font-weight:800; margin:0; line-height:1.55; }
.apc-carousel .apc-subtitle { color:var(--apc-muted); margin:5px 0 0; font-size:13px; line-height:1.8; }
.apc-carousel .apc-header-actions { display:flex; align-items:center; justify-content:flex-end; gap:16px; margin-inline-start:auto; flex-shrink:0; }
.apc-carousel .apc-view-all { color:var(--apc-accent); display:flex; align-items:center; gap:7px; font-size:13px; text-decoration:none; font-weight:700; white-space:nowrap; }
.apc-carousel .apc-view-all:hover { text-decoration:underline; }
.apc-carousel .apc-controls { display:flex; align-items:center; gap:7px; }
.apc-carousel .apc-arrow { appearance:none; display:grid; place-items:center; padding:0; width:40px; height:40px; flex-shrink:0; border-radius:11px; background:var(--apc-surface); color:var(--apc-ink); border:1px solid var(--apc-card-border); cursor:pointer; transition:background-color .2s,border-color .2s,color .2s,transform .2s; }
.apc-carousel .apc-arrow:hover:not(:disabled), .apc-carousel .apc-arrow:focus-visible { color:#fff; border-color:var(--apc-accent); background:var(--apc-accent); transform:translateY(-1px); }
.apc-carousel .apc-arrow:focus-visible, .apc-carousel .apc-track:focus-visible, .apc-carousel a:focus-visible { outline:2px solid var(--apc-accent); outline-offset:3px; }
.apc-carousel .apc-arrow:disabled { opacity:.35; cursor:not-allowed; transform:none; }
.apc-carousel .apc-arrow svg { width:18px; height:18px; }
.apc-carousel .apc-track { display:flex; align-items:stretch; gap:var(--apc-gap); width:100%; max-width:100%; padding:2px 2px 12px; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scroll-padding-inline:2px; scroll-behavior:smooth; scrollbar-width:none; overscroll-behavior-inline:contain; }
.apc-carousel .apc-track::-webkit-scrollbar { display:none; }
.apc-carousel .apc-product { min-width:0; flex:0 0 var(--apc-desktop); display:flex; flex-direction:column; align-self:stretch; overflow:hidden; scroll-snap-align:start; border-radius:18px; border:1px solid var(--apc-card-border); background:var(--apc-surface); box-shadow:0 5px 23px rgba(22,30,63,.045); transition:box-shadow .25s,transform .25s; }
.apc-carousel .apc-product:hover { box-shadow:0 12px 30px rgba(22,30,63,.105); transform:translateY(-2px); }
.apc-carousel .apc-image-wrap { position:relative; width:100%; background:var(--apc-image-bg); }
.apc-carousel .apc-product-image-link { display:grid; place-items:center; width:100%; aspect-ratio:1 / 1; overflow:hidden; text-decoration:none; }
.apc-carousel.apc-ratio-portrait .apc-product-image-link { aspect-ratio:4 / 5; }
.apc-carousel.apc-ratio-landscape .apc-product-image-link { aspect-ratio:4 / 3; }
.apc-carousel .apc-product-image-link img { display:block; width:100%; height:100%; max-width:none; margin:0; object-fit:contain; transition:transform .45s cubic-bezier(.2,.8,.2,1); }
.apc-carousel .apc-product:hover .apc-product-image-link img { transform:scale(1.055); }
.apc-carousel .apc-sale-badge, .apc-carousel .apc-stock-badge { position:absolute; inset-inline-start:12px; inset-block-start:12px; padding:6px 9px; background:#ef476f; color:#fff; font-size:11px; font-weight:750; line-height:1.2; border-radius:8px; pointer-events:none; }
.apc-carousel .apc-stock-badge { inset-inline-start:auto; inset-inline-end:12px; background:#758097; }
.apc-carousel .apc-product-info { display:flex; flex-direction:column; flex:1; min-width:0; gap:10px; padding:17px 16px 16px; text-align:start; }
.apc-carousel .apc-meta-row { display:flex; align-items:center; justify-content:space-between; gap:6px; min-height:14px; }
.apc-carousel .apc-meta-row:empty { display:none; }
.apc-carousel .apc-product-category { color:var(--apc-muted); font-size:11px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.apc-carousel .apc-product-rating { display:inline-flex; align-items:center; gap:4px; flex-shrink:0; color:var(--apc-ink); direction:ltr; font-size:11px; font-weight:750; }
.apc-carousel .apc-product-rating span { font-size:15px; color:#f2a917; }
.apc-carousel .apc-product-title { margin:0; color:var(--apc-ink); font-size:15px; font-weight:700; line-height:1.85; min-height:3.7em; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.apc-carousel .apc-product-title a { color:inherit; text-decoration:none; }
.apc-carousel .apc-product-title a:hover { color:var(--apc-accent); }
.apc-carousel .apc-product-price { color:var(--apc-ink); font-size:16px; font-weight:800; line-height:1.6; margin-top:auto; min-height:25px; overflow-wrap:anywhere; }
.apc-carousel .apc-product-price del { opacity:1; color:#989fac; font-size:12px; font-weight:400; margin-inline-end:5px; }
/* WooCommerce 9+ adds textual a11y annotations to sale prices and variable ranges.
   Hide visually while keeping the information available to screen readers,
   including on themes that do not load WooCommerce's standard styles. */
.apc-carousel .apc-product-price .screen-reader-text {
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    padding:0 !important;
    margin:-1px !important;
    overflow:hidden !important;
    clip:rect(0,0,0,0) !important;
    clip-path:inset(50%) !important;
    white-space:nowrap !important;
    border:0 !important;
}
.apc-carousel .apc-product-price ins { color:var(--apc-accent); background:transparent; text-decoration:none; }
.apc-carousel .apc-product-button { display:flex; width:100%; min-height:43px; align-items:center; justify-content:center; gap:9px; padding:9px 10px; background:var(--apc-accent); border:1px solid var(--apc-accent); border-radius:11px; margin-top:2px; color:#fff !important; text-align:center; text-decoration:none !important; font-size:12px; font-weight:750; line-height:1.5; transition:filter .2s,transform .2s; }
.apc-carousel .apc-product-button:hover { filter:brightness(.9); transform:translateY(-1px); }
.apc-carousel .apc-product-button.added { background:#168966; border-color:#168966; }
.apc-carousel .apc-button-arrow { font-size:17px; line-height:1; }
.apc-carousel .added_to_cart { font-size:12px; text-align:center; color:var(--apc-accent); }
.apc-carousel .apc-footer { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:11px; }
.apc-carousel .apc-progress { background:#eaedf3; width:100%; max-width:240px; height:4px; border-radius:10px; overflow:hidden; }
.apc-carousel .apc-progress-fill { display:block; background:var(--apc-accent); width:15%; height:100%; border-radius:10px; transition:width .25s ease; }
.apc-carousel .apc-counter { color:var(--apc-muted); direction:ltr; white-space:nowrap; font-size:12px; font-weight:700; font-variant-numeric:tabular-nums; }
.apc-empty { padding:20px; color:#675331; background:#fff7e8; border:1px solid #f1d9aa; border-radius:12px; }
/* Minimal: unboxed product gallery. */
.apc-carousel.apc-style-minimal .apc-product { border:0; box-shadow:none; border-radius:0; background:transparent; }
.apc-carousel.apc-style-minimal .apc-product:hover { box-shadow:none; transform:none; }
.apc-carousel.apc-style-minimal .apc-image-wrap { border-radius:12px; overflow:hidden; }
.apc-carousel.apc-style-minimal .apc-product-info { padding:14px 0 8px; }
.apc-carousel.apc-style-minimal .apc-product-button { color:var(--apc-accent)!important; background:transparent; border-color:var(--apc-accent); border-radius:9px; }
.apc-carousel.apc-style-minimal .apc-product-button:hover { color:#fff!important; background:var(--apc-accent); filter:none; }
.apc-carousel.apc-style-minimal .apc-arrow { border-radius:50%; }
/* Soft: cushioned, editorial cards. */
.apc-carousel.apc-style-soft { --apc-image-bg:#f0eefd; --apc-card-border:#f0ebfc; }
.apc-carousel.apc-style-soft .apc-product { border-radius:22px; background:#f9f7ff; box-shadow:none; }
.apc-carousel.apc-style-soft .apc-product:hover { box-shadow:0 13px 30px rgba(100,65,154,.12); }
.apc-carousel.apc-style-soft .apc-product-button { border-radius:14px; }
.apc-carousel.apc-style-soft .apc-arrow { border-radius:50%; }
/* Dark: intended to work even inside a light Elementor section. */
.apc-carousel.apc-style-dark { --apc-ink:#f5f5fa; --apc-muted:#aab0c1; --apc-surface:#292e44; --apc-card-border:#3b425c; --apc-image-bg:#343a50; padding:24px; background:#1c2136; border-radius:22px; }
.apc-carousel.apc-style-dark .apc-eyebrow { color:#c6c0ff; }
.apc-carousel.apc-style-dark .apc-product { box-shadow:none; }
.apc-carousel.apc-style-dark .apc-product:hover { box-shadow:0 13px 30px rgba(0,0,0,.18); }
.apc-carousel.apc-style-dark .apc-product-price del { color:#aeb3c3; }
.apc-carousel.apc-style-dark .apc-product-price ins { color:#c7c0ff; }
.apc-carousel.apc-style-dark .apc-product-rating span { color:#ffbd4a; }
.apc-carousel.apc-style-dark .apc-progress { background:#3a4059; }
@media (max-width:1024px) { .apc-carousel .apc-product { flex-basis:var(--apc-tablet); } }
@media (max-width:767px) { .apc-carousel .apc-product { flex-basis:var(--apc-mobile); } .apc-carousel .apc-header { align-items:center; margin-bottom:16px; } .apc-carousel .apc-heading { font-size:20px; } .apc-carousel .apc-eyebrow { font-size:10px; } .apc-carousel .apc-subtitle { font-size:11px; } .apc-carousel .apc-header-actions { gap:8px; } .apc-carousel .apc-arrow { width:33px; height:33px; border-radius:9px; } .apc-carousel .apc-view-all { font-size:11px; } .apc-carousel .apc-product-info { padding:12px; gap:8px; } .apc-carousel .apc-product-title { font-size:13px; } .apc-carousel .apc-product-price { font-size:14px; } .apc-carousel.apc-style-dark { padding:16px; } }
@media (max-width:380px) { .apc-carousel .apc-view-all { display:none; } .apc-carousel .apc-header-actions { gap:4px; } }
@media (prefers-reduced-motion:reduce) { .apc-carousel .apc-track { scroll-behavior:auto; } .apc-carousel .apc-product, .apc-carousel .apc-product-image-link img, .apc-carousel .apc-arrow, .apc-carousel .apc-product-button, .apc-carousel .apc-progress-fill { transition:none; } }

/* APC 3.0 — accessible nested-category product tabs. */
.apc-carousel [hidden] { display:none!important; }
.apc-tabs-carousel .apc-header { margin-bottom:14px; }
.apc-tabs-carousel .apc-category-tablist { display:flex; align-items:stretch; gap:8px; max-width:100%; overflow-x:auto; padding:3px 1px 7px; margin-bottom:10px; border-bottom:1px solid var(--apc-card-border); scrollbar-width:thin; scrollbar-color:#d6d8e4 transparent; }
.apc-tabs-carousel .apc-category-tab { appearance:none; display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; white-space:nowrap; position:relative; border:0; border-bottom:3px solid transparent; margin-bottom:-8px; padding:11px 18px 12px; background:transparent; color:var(--apc-muted); font-family:inherit; font-weight:700; font-size:14px; line-height:1.7; cursor:pointer; transition:background-color .18s,color .18s,border-color .18s; border-radius:9px 9px 0 0; }
.apc-tabs-carousel .apc-category-tab:hover { color:var(--apc-accent); background:color-mix(in srgb,var(--apc-accent) 7%,transparent); }
.apc-tabs-carousel .apc-category-tab.is-active { color:var(--apc-accent); border-bottom-color:var(--apc-accent); }
.apc-tabs-carousel .apc-category-tab:focus-visible { outline:2px solid var(--apc-accent); outline-offset:2px; }
.apc-tabs-carousel .apc-category-panel { min-width:0; }
.apc-tabs-carousel .apc-panel-toolbar { display:flex; align-items:center; justify-content:flex-end; gap:16px; min-height:45px; margin:4px 0 12px; }
.apc-tabs-carousel .apc-panel-toolbar .apc-view-all { margin-inline-end:auto; }
.apc-tabs-carousel .apc-panel-toolbar .apc-controls { margin-inline-start:auto; }
.apc-tabs-carousel.apc-style-dark .apc-category-tablist { border-color:#41465b; }
@media(max-width:767px) {
  .apc-tabs-carousel .apc-category-tablist { gap:4px; }
  .apc-tabs-carousel .apc-category-tab { font-size:12px; padding:10px 12px; }
  .apc-tabs-carousel .apc-panel-toolbar { min-height:35px; margin-bottom:8px; }
}
@media(prefers-reduced-motion:reduce) { .apc-tabs-carousel .apc-category-tab { transition:none; } }
