/* Accessories theme (Ecomus) — bridge between the Ecomus template CSS and
   Sylius' own pages/components rendered inside the Ecomus header/footer. */

body.acc-theme { background: #fff; }
body.acc-theme.rtl { font-family: 'Cairo', 'Albert Sans', sans-serif; }
body.acc-theme.rtl :is(h1, h2, h3, h4, h5, h6, .heading, .title, .tf-btn) { font-family: inherit; }

/* Theme colour from Settings drives the Ecomus accent. */
.acc-theme .tf-btn.btn-fill,
.acc-theme .count-box,
.acc-theme .toolbar-count { background-color: var(--primary); border-color: var(--primary); }
.acc-theme .tf-countdown-v3 { color: var(--primary); }

/* Header */
.acc-header .logo-header img.logo { height: var(--acc-logo-h, 72px); max-height: none; width: auto; max-width: 100%; object-fit: contain; }
@media (max-width: 991px) { .acc-header .logo-header img.logo { height: calc(var(--acc-logo-h, 72px) * .7); } }
.acc-header .acc-logo-text,
.acc-footer .acc-logo-text { font-size: 26px; font-weight: 700; color: var(--main); letter-spacing: -.02em; }
.acc-header .nav-cart { position: relative; }
.acc-cart-widget .nav-icon-item { position: relative; }
.acc-header .box-nav-ul { flex-wrap: wrap; row-gap: 0; }
.acc-header .submenu-default .menu-list { max-height: 70vh; overflow-y: auto; }

/* Announcement */
.acc-announcement .noti-bar-text { margin: 0; }

/* Slideshow: keep copy readable on any photo. */
.acc-slideshow .wrap-slider img { width: 100%; object-fit: cover; }
.acc-slideshow .box-content .heading { text-wrap: balance; }

/* Product card */
.acc-card .product-img { aspect-ratio: 1 / 1; display: block; background: #f7f7f7; }
.acc-card .product-img img { width: 100%; height: 100%; object-fit: cover; }
.acc-card .acc-noimg { object-fit: contain !important; padding: 20%; opacity: .35; }
.acc-card .card-product-info .title { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.acc-price .old-price { text-decoration: line-through; color: #8a8a8a; font-weight: 400; margin-inline-end: 6px; }
.acc-price .new-price { color: var(--primary); }
.acc-card .acc-badge-out { background: #555; color: #fff; }
.acc-card .on-sale-wrap { position: absolute; top: 10px; inset-inline: 10px; z-index: 5; }
.acc-quick-add form { display: contents; }
.acc-quick-add button.box-icon { cursor: pointer; padding: 0; }
.acc-quick-add .acc-quick-add-error { position: absolute; bottom: 100%; inset-inline-start: 0; background: #fff; color: #c00; font-size: 12px; padding: 4px 8px; border-radius: 4px; white-space: nowrap; }
.acc-quick-add .acc-quick-add-error ul { margin: 0; padding: 0; list-style: none; }

/* Categories: real taxon photos fill the circle; template icons stay centred. */
.acc-categories .collection-image.acc-taxon-photo img { width: 100%; height: 100%; object-fit: cover; }

/* Gallery: product photos are square-cropped. */
.acc-gallery-img img { aspect-ratio: 1 / 1; object-fit: cover; width: 100%; }

/* Footer */
.acc-footer .footer-logo img.logo { height: calc(var(--acc-logo-h, 72px) * .8); max-height: none; width: auto; }
.acc-locales { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: center; margin-top: 18px; }
.acc-locales-label { color: #545454; }

/* Sylius pages (listing, product, cart, checkout, account) inside the frame:
   keep Sylius' own Bootstrap look, just give the content room. */
.acc-main { min-height: 40vh; }
body.acc-theme:not([data-route="sylius_shop_homepage"]) .acc-main { padding: 30px 0 60px; }
.acc-main .btn-primary { background-color: var(--primary); border-color: var(--primary); }
.acc-main .btn-primary:hover { filter: brightness(.92); background-color: var(--primary); border-color: var(--primary); }

/* Ecomus hides the go-top until scrolling; main.js toggles .active-progress. */
.acc-go-top { cursor: pointer; }

/* The Sylius cart drawer must sit above the Ecomus backdrop (z-index 2000),
   like every Ecomus off-canvas (3000); below it the backdrop catches clicks. */
#offcanvasCart { z-index: 3000; }

@media (max-width: 1149px) {
    body.acc-theme { padding-bottom: 64px; }
}

/* RTL: Ecomus' arrows/icons are LTR; flip the directional ones. */
.rtl .acc-theme .icon-arrow1-top-left,
.rtl .tf-btn .icon-arrow-right,
body.rtl .tf-btn .icon-arrow1-top-left { transform: scaleX(-1); display: inline-block; }
body.rtl .tf-icon-box.style-row { text-align: right; }
body.rtl .collection-item-v4 .collection-content { text-align: right !important; }

/* Store-photo hero slides (no slides configured): like the Ecomus design,
   copy on top and the product/category photo below it on a soft panel. */
.acc-slide-generated { background: #f2f2f2; }
.acc-slideshow .wrap-slider { aspect-ratio: 1000 / 649; overflow: hidden; }
.acc-slideshow .wrap-slider > img { height: 100%; }
.acc-slide-generated > img { object-fit: contain !important; mix-blend-mode: multiply; padding: 36% 12% 3%; }
@media (max-width: 767px) {
    .acc-slideshow .wrap-slider { aspect-ratio: 4 / 5; }
    .acc-slide-generated > img { padding: 52% 8% 4%; }
}

/* Store-photo collection banners. */
.acc-banner-generated .collection-image { background: #f2f2f2; aspect-ratio: 1400 / 1609; display: block; }
.acc-banner-generated .collection-image img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; padding: 10% 10% 30%; }

/* Category circles: real photos cropped to the circle. */
.acc-categories .collection-item-circle .collection-image { display: block; aspect-ratio: 1 / 1; border-radius: 50%; overflow: hidden; }
.acc-categories .collection-image.acc-taxon-photo img { width: 100%; height: 100%; object-fit: cover; }

.acc-reviews { margin-bottom: 70px; }
.acc-footer .footer-body { padding-top: 10px; }
.acc-footer .social-linkedin .acc-in { font-weight: 700; font-size: 13px; line-height: 1; }
.acc-slide-generated > img { padding-top: 30%; }

/* Sylius product grids with the Ecomus card. */
.acc-main .products-grid { gap: 30px 24px; }
.acc-main .products-grid .acc-card { height: 100%; }
@media (max-width: 767px) { .acc-main .products-grid { gap: 16px 12px; } }

/* Sylius' shop CSS sizes every `.icon` to a 28px box (meant for its SVG
   icons), which pins Ecomus font glyphs to the top-left of their buttons.
   Font icons size themselves; keep the box only for SVGs. */
.acc-theme i.icon,
.acc-theme span.icon { width: auto; height: auto; line-height: 1; display: inline-block; }
/* Sylius also mirrors every icon in RTL; Ecomus icons are mirrored per need. */
[dir=rtl] .acc-theme i.icon,
[dir=rtl] .acc-theme span.icon { transform: none; }
[dir=rtl] .acc-theme .tf-btn .icon-arrow-right,
[dir=rtl] .acc-theme .tf-btn .icon-arrow1-top-left { transform: scaleX(-1); }
.acc-slideshow .tf-btn { display: inline-flex; align-items: center; gap: 10px; }
.acc-slideshow .nav-sw .icon { font-size: 14px; }
.acc-slide-empty { background: #f2f2f2; }

.acc-header .wrapper-header { min-height: calc(var(--acc-logo-h, 72px) + 20px); }

/* Product page buy box (Ecomus product-detail "tf-product-info-buy-button"). */
.acc-qty { margin-bottom: 20px; }
.acc-qty .quantity-title { margin-bottom: 10px; }
.acc-qty .wg-quantity { width: 140px; }
.acc-qty .wg-quantity .btn-quantity { border: 0; background: transparent; padding: 0; }
.acc-qty .wg-quantity input.acc-qty-input { width: 60px; height: 46px; border: 0; background: transparent; box-shadow: none; text-align: center; font-weight: 600; -moz-appearance: textfield; }
.acc-qty .wg-quantity input.acc-qty-input::-webkit-outer-spin-button,
.acc-qty .wg-quantity input.acc-qty-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.acc-buy-box { display: flex; flex-direction: column; gap: 12px; margin-bottom: 8px; }
.acc-buy-row { display: flex; align-items: stretch; gap: 10px; }
.acc-theme .acc-buy-row .tf-btn.btn-add-to-cart { min-height: 52px; border-radius: 3px; background-color: var(--main, #000); border-color: var(--main, #000); color: #fff; }
.acc-theme .acc-buy-row .tf-btn.btn-add-to-cart:hover:not(:disabled) { background-color: #333; border-color: #333; }
.acc-buy-row .btn-add-to-cart:disabled { opacity: .45; cursor: not-allowed; }
.acc-buy-row .tf-product-btn-wishlist { width: 52px; min-width: 52px; height: 52px; border: 1px solid #ebebeb; border-radius: 3px; position: relative; }
.acc-buy-row .tf-product-btn-wishlist .icon { font-size: 18px; }
.acc-buy-row .tf-product-btn-wishlist:hover { background: var(--main, #000) !important; color: #fff; border-color: var(--main, #000); }
.acc-buy-now {
    width: 100%; min-height: 52px; display: flex; align-items: center; justify-content: center; gap: .75rem;
    padding: .55rem 1rem; border: 0; border-radius: 3px; background: var(--primary); color: #fff;
    font-weight: 600; font-size: 16px; transition: filter .15s ease, transform .1s ease, opacity .15s ease;
}
.acc-buy-now:hover:not(:disabled) { filter: brightness(.92); }
.acc-buy-now:active:not(:disabled) { transform: translateY(1px); }
.acc-buy-now:disabled { opacity: .45; cursor: not-allowed; }
.acc-buy-now-icons { display: inline-flex; gap: .3rem; }
.acc-pay-icon { display: block; width: 34px; height: auto; border-radius: 4px; }
.acc-buy-now.is-loading .acc-buy-now-label::after {
    content: ""; display: inline-block; width: .9em; height: .9em; margin-inline-start: .5em; vertical-align: -.1em;
    border: 2px solid currentColor; border-inline-end-color: transparent; border-radius: 50%; animation: acc-spin .7s linear infinite;
}
@keyframes acc-spin { to { transform: rotate(360deg); } }

/* Language / currency pickers (Ecomus tf-cur). */
.acc-switchers { display: flex; align-items: center; gap: 18px; }
.acc-switch-btn { background: none; border: 0; padding: 4px 0; display: inline-flex; align-items: center; gap: 6px; color: inherit; font-size: 14px; font-weight: 500; cursor: pointer; }
.acc-switch-btn .icon { font-size: 8px; }
.acc-switch-symbol { opacity: .7; }
.acc-switch-menu { min-width: 150px; font-size: 14px; border-radius: 6px; box-shadow: 0 8px 24px rgba(0,0,0,.12); border: 0; padding: 6px; }
.acc-switch-menu .dropdown-item { border-radius: 4px; padding: 7px 12px; }
.acc-switch-menu .dropdown-item.active, .acc-switch-menu .dropdown-item:active { background: var(--main, #000); color: #fff; }
.acc-announcement { position: relative; }
.acc-topbar-switchers { position: absolute; top: 50%; transform: translateY(-50%); inset-inline-start: 40px; color: #fff; z-index: 5; }
.acc-topbar-switchers .acc-switch-btn { color: #fff; font-size: 13px; }
.acc-footer .acc-switchers { margin-top: 22px; }
.canvas-mb .bottom-bar-language .acc-switchers { gap: 24px; }
@media (max-width: 991px) { .acc-topbar-switchers { display: none !important; } }

/* Wishlist state: filled red heart (Ecomus red) when the product is saved. */
.acc-theme [data-acc-wishlist].acc-wished { color: var(--red_1, #db1215); }
.acc-theme [data-acc-wishlist].acc-wished .icon { color: var(--red_1, #db1215); }
.acc-theme .acc-buy-row [data-acc-wishlist].acc-wished { border-color: var(--red_1, #db1215); }
.acc-theme .acc-buy-row [data-acc-wishlist].acc-wished:hover { background: var(--red_1, #db1215) !important; color: #fff; }
.acc-theme .acc-buy-row [data-acc-wishlist].acc-wished:hover .icon { color: #fff; }
.acc-theme [data-acc-wishlist].is-busy { opacity: .6; pointer-events: none; }
.acc-wishlist-link { position: relative; }
.acc-wishlist-count[hidden] { display: none !important; }
@keyframes acc-bump { 0% { transform: scale(1); } 40% { transform: scale(1.45); } 100% { transform: scale(1); } }
.acc-bump { animation: acc-bump .45s ease; }

/* Product page urgency blocks (Ecomus product-detail). */
.acc-stock-badge { margin-bottom: 18px; }
.acc-product-countdown { margin-bottom: 22px; }
.acc-product-countdown .countdown-title p { margin: 0; }

/* Card colour dots (variant choice). */
.acc-swatches { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; padding: 0; list-style: none; }
.acc-swatch { position: relative; width: 22px; height: 22px; border-radius: 50%; border: 1px solid #ddd; padding: 2px; cursor: pointer; display: inline-flex; }
.acc-swatch .swatch-value { width: 100%; height: 100%; border-radius: 50%; display: block; box-shadow: inset 0 0 0 1px rgba(0,0,0,.08); }
.acc-swatch.active { border-color: var(--main, #000); box-shadow: 0 0 0 1px var(--main, #000); }
.acc-swatch.is-unavailable { opacity: .35; cursor: not-allowed; }
.acc-swatch.is-unavailable::after { content: ""; position: absolute; left: 50%; top: -2px; bottom: -2px; width: 1px; background: #777; transform: rotate(45deg); }
.acc-swatch .tooltip { position: absolute; bottom: calc(100% + 8px); left: 50%; transform: translateX(-50%); white-space: nowrap; background: var(--main, #000); color: #fff; font-size: 12px; padding: 4px 8px; border-radius: 4px; opacity: 0; visibility: hidden; transition: opacity .15s ease; z-index: 20; pointer-events: none; }
.acc-swatch:hover .tooltip, .acc-swatch:focus-visible .tooltip { opacity: 1; visibility: visible; }

/* Quick-add modal (Ecomus #quick_add). */
.acc-quick-add-modal .modal-content { padding: 0; }
.acc-quick-add-modal .header { display: flex; justify-content: flex-end; padding: 14px 16px 0; }
.acc-quick-add-modal .header .icon-close { cursor: pointer; font-size: 14px; }
.acc-quick-add-modal .wrap { padding: 4px 28px 26px; }
.acc-quick-add-modal .tf-product-info-item { display: flex; gap: 16px; align-items: center; margin-bottom: 20px; }
.acc-quick-add-modal .tf-product-info-item .image img { width: 86px; height: 86px; object-fit: cover; border-radius: 6px; background: #f5f5f5; }
.acc-quick-add-modal .tf-product-info-item .content a { font-weight: 600; font-size: 16px; color: var(--main, #000); }
.acc-quick-add-modal .acc-quick-add-submit { min-height: 50px; background: var(--main, #000) !important; border-color: var(--main, #000) !important; color: #fff; }
.acc-quick-add-modal .acc-quick-add-submit:disabled { opacity: .45; }
.acc-quick-add-details { display: inline-block; margin-top: 14px; text-decoration: underline; font-size: 14px; }
.acc-quick-add-loading { display: flex; justify-content: center; padding: 60px 0; }
.acc-spinner { width: 28px; height: 28px; border: 3px solid #ddd; border-top-color: var(--main, #000); border-radius: 50%; animation: acc-spin .7s linear infinite; }

/* Account dashboard verify button: readable label. */
.acc-main .acc-verify-btn { color: var(--main, #000); }
.acc-main .acc-verify-btn:hover { color: #fff; }

/* Hero slider: the theme gives slides a fixed height (450px on phones) while
   this file sets an aspect ratio, so the browser shrank the slide's width to
   fit (450 x 4/5 = 360px on a 390px screen) and the banner sat to one side.
   Width wins; the ratio sets the height. */
.acc-slideshow .wrap-slider { width: 100%; height: auto; }

/* Footer on phones: everything centred, the accordion "+" stays at the edge. */
@media (max-width: 767px) {
    .acc-footer .footer-infor { display: flex; flex-direction: column; align-items: center; text-align: center; }
    .acc-footer .footer-infor .footer-logo { display: flex; justify-content: center; }
    .acc-footer .footer-infor ul { padding: 0; }
    .acc-footer .footer-infor .tf-social-icon { justify-content: center; }
    .acc-footer .footer-heading-moblie { text-align: center; }
    .acc-footer .footer-col-block .tf-collapse-content,
    .acc-footer .footer-menu-list { text-align: center; }
    .acc-footer .footer-newsletter .tf-btn { margin-inline: auto; }
    .acc-footer .acc-switchers { justify-content: center; }
    .acc-footer .footer-bottom-wrap { justify-content: center !important; text-align: center; }
}

/* Products sold by variant "choice" render Sylius' table of every variant
   (20 rows for a T-shirt): too wide for a phone and it pushed Add to cart far
   down. On phones each variant is a tappable row in a scrolling list. */
@media (max-width: 767px) {
    .acc-theme form[name="sylius_shop_add_to_cart"] table { display: block; width: 100%; }
    .acc-theme form[name="sylius_shop_add_to_cart"] table thead { display: none; }
    .acc-theme form[name="sylius_shop_add_to_cart"] table tbody {
        display: flex; flex-direction: column; gap: 8px;
        max-height: 22rem; overflow-y: auto; overscroll-behavior: contain; padding: 2px;
    }
    .acc-theme form[name="sylius_shop_add_to_cart"] table tr {
        position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 10px;
        padding: 10px 12px; border: 1px solid var(--line, #e5e5e5); border-radius: 10px; background: #fff;
    }
    .acc-theme form[name="sylius_shop_add_to_cart"] table tr:has(input:checked) { border-color: var(--main, #000); box-shadow: 0 0 0 1px var(--main, #000); }
    .acc-theme form[name="sylius_shop_add_to_cart"] table td { display: block; padding: 0; border: 0; font-size: 13px; line-height: 1.35; overflow-wrap: anywhere; }
    .acc-theme form[name="sylius_shop_add_to_cart"] table td:first-child > div { display: flex; flex-wrap: wrap; gap: 4px 8px; margin-top: 2px; font-weight: 600; font-size: 14px; }
    .acc-theme form[name="sylius_shop_add_to_cart"] table td:nth-child(2) { white-space: nowrap; font-weight: 600; }
    .acc-theme form[name="sylius_shop_add_to_cart"] table .form-check { margin: 0; min-height: 0; padding: 0; }
    .acc-theme form[name="sylius_shop_add_to_cart"] table .form-check-input { float: none; margin: 0; }
    /* The whole row selects the variant. */
    .acc-theme form[name="sylius_shop_add_to_cart"] table .form-check-label::after { content: ''; position: absolute; inset: 0; border-radius: 10px; }
}

/* Hidden card tooltips are still laid out, and one at the screen edge made the
   page 12px wider than a phone (with the fixed bottom bar stretched to match).
   clip, unlike hidden, keeps the sticky header working. */
html, body.acc-theme { overflow-x: clip; }

/* ── Ecomus fork shared bits ───────────────────────────────────────────── */
.ecm-theme { --primary: var(--main-theme-color); }
/* Real cart icon (SVG) wherever Ecomus used its bag glyph. */
.ecm-cart-icon { display: block; flex: 0 0 auto; }
.ecm-theme .nav-icon-item .ecm-cart-icon { width: 22px; height: 22px; }
.ecm-theme .box-icon .ecm-cart-icon { margin: auto; }
.ecm-theme .toolbar-icon .ecm-cart-icon { margin: 0 auto; }
.ecm-theme .acc-cart-widget .nav-icon-item { display: flex; align-items: center; }
/* MonsieurBiz homepage route: the hero starts right under (or behind) the header. */
body.ecm-theme[data-route="monsieurbiz_sylius_homepage_homepage"] .acc-main { padding: 0; }
/* Footer logo picks up a negative top margin from the bundled styles. */
.ecm-theme .acc-footer .footer-logo { margin-top: 0; }
.ecm-theme .acc-footer .footer-body { padding-top: 40px; }
.ecm-theme .acc-header .acc-logo-text { font-weight: 800; letter-spacing: -.02em; }

/* ── Skateboard ────────────────────────────────────────────────────────── */
.ecm-skateboard .acc-header .acc-logo-text { text-transform: uppercase; font-size: 24px; }
/* Transparent only while it floats over the hero; once sticky (header-bg) it gets
   a solid background, otherwise page content showed through it on scroll-up. */
.ecm-skateboard .header-absolute:not(.header-bg) { background: transparent; }
.ecm-skateboard #header.header-bg { background: #fff !important; box-shadow: 0 1px 0 rgba(0, 0, 0, .06), 0 6px 18px rgba(0, 0, 0, .06); }
.ecm-marquee .marquee-item .text { text-transform: uppercase; white-space: nowrap; }
.ecm-slideshow .wrap-slider img { width: 100%; height: 100%; object-fit: cover; }
.ecm-slide-generated { background: #e85b51; }
.ecm-slide-generated.ecm-slide-1 { background: #2fa3a1; }
.ecm-slide-generated.ecm-slide-2 { background: #f3c044; }
.ecm-slide-generated img { object-fit: contain !important; object-position: 75% 60%; mix-blend-mode: multiply; padding: 60px 4% 30px; }
.ecm-card.style-line-hover .product-img { aspect-ratio: 4 / 5; display: block; background: #fff; }
.ecm-card .product-img img { width: 100%; height: 100%; object-fit: cover; }
.ecm-banners .collection-image img, .ecm-categories .collection-image img { width: 100%; object-fit: cover; aspect-ratio: 4 / 5; }
.ecm-banners .collection-content .heading, .ecm-banners .collection-content .subheading { text-shadow: 0 1px 12px rgba(0, 0, 0, .35); }
.ecm-custom .tf-image-wrap img { width: 100%; height: 100%; object-fit: cover; }
.ecm-reviews.flat-testimonial-bg { background-color: #2a2a2a; background-size: cover; background-position: center; }
.rtl .ecm-slideshow .wrap-slider:not(.ecm-slide-generated) img { transform: scaleX(-1); }

/* Quick-add popup: a compact dialog, not the full-width Ecomus modalDemo. */
.acc-quick-add-modal .modal-dialog { max-width: 520px; }

/* Without a brand strip the category carousel follows the banners directly. */
.ecm-banners + .ecm-categories { padding-top: 56px !important; }

/* Hero keeps the proportions of the Ecomus artwork whatever image is
   uploaded (square photos made it taller than the screen); images are cropped. */
.ecm-slideshow .wrap-slider { height: max(560px, 100vh, 56.25vw); overflow: hidden; } /* header floats over it: fills the first screen, never below 16:9 */
.ecm-slideshow .wrap-slider > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 70% 50%; }
.ecm-slideshow .ecm-slide-generated > img { object-fit: contain !important; }
@media (max-width: 767px) { .ecm-slideshow .wrap-slider { height: 600px; } }

/* Floating header: Ecomus pulls the page up by a fixed -94px under it, wrong
   for any other header height (a white strip showed under the hero);
   skateboard.js sets the overlap to the header's real height. */

/* Review cards link to the reviewed product. */
.ecm-review-card { display: flex; flex-direction: column; height: 100%; color: inherit; text-decoration: none; transition: transform .2s, box-shadow .2s; }
.ecm-review-card:hover { transform: translateY(-3px); box-shadow: 0 10px 28px rgba(0, 0, 0, .18); color: inherit; }
.ecm-review-card .text { flex: 1 0 auto; }
.ecm-review-product { display: flex; align-items: center; gap: 12px; margin-top: 18px; padding-top: 14px; border-top: 1px solid #ececec; }
.ecm-review-product img { width: 52px; height: 52px; object-fit: cover; border: 1px solid #eee; flex: 0 0 auto; }
.ecm-review-product-info { display: grid; gap: 2px; min-width: 0; flex: 1 1 auto; }
.ecm-review-product-name { font-size: 13px; font-weight: 700; text-transform: uppercase; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ecm-review-product .acc-price { font-size: 13px; }
.ecm-review-go { font-size: 12px; transition: transform .2s; }
.ecm-review-card:hover .ecm-review-go { transform: translate(2px, -2px); }
.rtl .ecm-review-go { transform: scaleX(-1); }
.ecm-reviews .swiper-slide { height: auto; }

/* Sylius paints every .btn in the theme colour, but .btn-link (e.g. "show more
   reviews" on the product page) kept dark text: unreadable on a dark theme. */
.acc-main .btn.btn-link { text-decoration: none; }

/* Text on anything painted with the theme colour follows --on-primary
   (white or near-black, picked from the colour), so it is readable for any store colour. */
.acc-theme .tf-btn.btn-fill, .acc-theme .count-box, .acc-theme .toolbar-count, .acc-theme .on-sale-item:not(.acc-badge-out),
.acc-main .btn-primary, .acc-main .btn.btn-link { color: var(--on-primary, #fff) !important; }
.acc-main .btn:not(.btn-light):not(.btn-white):not(.btn-outline-light) { --bs-btn-color: var(--on-primary, #fff); --bs-btn-hover-color: var(--on-primary, #fff); }
.acc-main .btn .icon, .acc-main .btn svg { color: inherit; }
.acc-theme .btn.btn-light { --bs-btn-color: #111 !important; --bs-btn-hover-color: #111 !important; color: #111 !important; }
