/* Mr.Print storefront presentation. Scoped overrides for saved Elementor layouts. */
:root {
    --mrprint-action: #B40A73;
    --mrprint-action-hover: #880656;
    --mrprint-ink: #26232B;
    --mrprint-muted: #596273;
    --niceshop-font: 'Golos Text', system-ui, sans-serif !important;
    --niceshop-text-muted: #596273 !important;
    --niceshop-price-text-color: #596273 !important;
}
html body :is(.niceshop-card, .niceshop-pdp, .niceshop-modal, .niceshop-checkout-upload, .woocommerce-cart-form, .cart_totals, form.woocommerce-checkout, form.track_order, .niceshop-receipt) {
    font-family: var(--niceshop-font) !important;
}
html body :is(.niceshop-card, .niceshop-pdp, .niceshop-modal, .niceshop-upload-zone) :is(button, input, textarea, a) { font-family: inherit !important; }
html body :is(.niceshop-pdp, .niceshop-modal) :is(h1,h2,h3,h4,h5),
html body .niceshop-card__title {
    font-family: 'Jost', system-ui, sans-serif !important;
    color: var(--mrprint-ink);
}
html body :is(.niceshop-card__sold, .niceshop-card__meta-empty, .niceshop-card__short-desc,
.niceshop-upload-zone__hint, .niceshop-upload-zone__subhint, .niceshop-upload-zone__note,
.niceshop-pdp__price-note, .niceshop-pdp__section-head p, .niceshop-popup__section-head p,
.niceshop-popup__meta-copy, .niceshop-popup__subtitle) { color: var(--mrprint-muted) !important; }
html body .niceshop-card__price, html body .niceshop-card__price .amount { color: var(--mrprint-muted) !important; }
html body .niceshop-card__btn {
    min-height: 44px !important;
    min-width: 0;
    padding: 10px 6px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
}
html body .niceshop-card__btn--detail { color: var(--mrprint-action-hover) !important; border: 1px solid var(--mrprint-action) !important; }
html body :is(.niceshop-card__wishlist, .niceshop-card__cart) { width: 44px !important; height: 44px !important; min-width: 44px; padding: 10px !important; }
html body :is(.niceshop-card__wishlist, .niceshop-card__cart) svg { width: 22px; height: 22px; pointer-events: none; }
html body .niceshop-card__wishlist { color: var(--mrprint-muted) !important; }
html body .niceshop-card__wishlist.active { color: var(--mrprint-action) !important; }
html body .niceshop-card__wishlist.active svg { fill: currentColor; }
html body :is(.niceshop-card__btn--buy, .niceshop-card__cart, .niceshop-pdp__checkout,
.niceshop-pdp__mobile-checkout, .niceshop-popup__checkout-btn,
.woocommerce-cart .checkout-button, .woocommerce-checkout #place_order) {
    background: var(--mrprint-action) !important;
    color: #fff !important;
    border-color: var(--mrprint-action) !important;
}
html body :is(.niceshop-card__btn--buy, .niceshop-card__cart, .niceshop-pdp__checkout,
.niceshop-pdp__mobile-checkout, .niceshop-popup__checkout-btn,
.woocommerce-cart .checkout-button, .woocommerce-checkout #place_order):hover { background: var(--mrprint-action-hover) !important; }
html body :is(.niceshop-pdp__step, .niceshop-popup__step) { background: var(--mrprint-action) !important; color: #fff !important; box-shadow: none !important; }
html body .niceshop-popup__step { display: inline-flex; width: 28px; height: 28px; min-width: 28px; border-radius: 50%; align-items: center; justify-content: center; font-size: 13px; font-weight: 700; }
html body :is(.niceshop-pdp__checkout, .niceshop-pdp__add-cart, .niceshop-upload-zone__browse,
.woocommerce-cart .checkout-button, .woocommerce-checkout #place_order,
form.track_order button, .niceshop-receipt .button, .niceshop-receipt-verify button) { min-height: 48px !important; font-size: 16px !important; line-height: 1.3 !important; }
html body :is(.niceshop-mini-qty__btn, .niceshop-mini-qty__input,
.niceshop-modal__close, .niceshop-pdp__wholesale-sheet-head button,
.niceshop-upload-zone__remove) { min-width: 44px !important; min-height: 44px !important; height: 44px !important; }
html body .elementor-menu-cart__product-remove { width: 44px !important; height: 44px !important; right: 0; }
html body .elementor-menu-cart__product-name { padding-right: 32px; }
html body .elementor-menu-cart__products { overflow-x: hidden; }
html body .niceshop-card__title { font-size: 15px !important; line-height: 1.4 !important; min-height: 42px !important; }
html body :is(.niceshop-card__sold, .niceshop-card__meta-empty, .niceshop-card__rating) { font-size: 12px !important; line-height: 1.4 !important; }
/* Totals remain readable on the white inner panel, regardless of kit text color. */
html body .elementor-widget-woocommerce-cart .product-name a { color: #596273 !important; }
/* Put the product name at arrival; retain all existing selectors used by ordering. */
html body .niceshop-pdp__heading { margin-bottom: 24px; }
html body .niceshop-pdp__heading .niceshop-pdp__title { font-size: 32px !important; font-weight: 600 !important; line-height: 1.25 !important; }
html body .niceshop-pdp__heading .niceshop-pdp__meta { margin: 12px 0 0 !important; }
html body .niceshop-pdp--modern .niceshop-pdp__main-frame { min-height: 0 !important; height: clamp(320px, 34vw, 460px); }
html body .niceshop-pdp--modern .niceshop-pdp__details-head h3,
html body .niceshop-pdp--modern .niceshop-pdp__related-head h3 { font-size: 22px !important; line-height: 1.3 !important; }
html body .niceshop-pdp--modern .niceshop-pdp__section-head h3 { font-size: 19px !important; }
html body .niceshop-pdp__wholesale-toggle:focus-visible { outline: 2px solid var(--mrprint-action-hover) !important; outline-offset: 3px !important; }
/* Popup typography and two-column desktop composition. */
html body .niceshop-modal { max-width: 1040px; }
html body .niceshop-modal__title { font-size: 24px !important; line-height: 1.25 !important; }
html body .niceshop-popup__title { font-size: 22px !important; line-height: 1.3 !important; }
html body .niceshop-popup__section-head h4 { font-size: 18px !important; line-height: 1.3 !important; }
html body .niceshop-popup__thumb { max-height: 300px; }
html body :is(.niceshop-popup__note-input, .niceshop-popup__qty-num) { font-size: 16px !important; }
html body :is(.niceshop-popup__checkout-btn, .niceshop-card__btn--buy):disabled { background: #E2E8F0 !important; color: #475569 !important; border-color: #CBD5E1 !important; cursor: not-allowed; }
/* Single full-cell links replace two undersized links per bottom-navigation item. */
html body .elementor-3927 .niceshop-bottom-link { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; min-height: 56px; gap: 4px; color: #26232B; text-decoration: none; font-family: var(--niceshop-font); font-size: 11px; line-height: 1.2; }
html body .niceshop-bottom-link svg { width: 23px; height: 23px; color: inherit !important; fill: none !important; }
html body .elementor-3927 .elementor-element-108055e :is(.elementor-widget-icon-box, .elementor-widget-container) { width: 100%; }
html body .elementor-3927 .elementor-element-d5eb109 .elementor-menu-cart__toggle_button { min-height: 56px; min-width: 44px; }
html body .niceshop-bottom-link:focus-visible { outline: 2px solid var(--mrprint-action-hover); outline-offset: -2px; }
html body :is(form.checkout, form.track_order, form.checkout_coupon, .niceshop-receipt-verify) :is(input.input-text, textarea, select) {
    font-family: var(--niceshop-font) !important; color: var(--mrprint-ink) !important; -webkit-text-fill-color: var(--mrprint-ink); min-height: 48px !important; font-size: 16px !important;
    caret-color: var(--mrprint-action-hover);
}
html body :is(form.checkout, form.track_order, form.checkout_coupon, .niceshop-receipt-verify) :is(input, textarea)::placeholder { color: #596273 !important; -webkit-text-fill-color: #596273 !important; opacity: 1 !important; }
html body :is(form.checkout, form.track_order) textarea { min-height: 120px !important; }
html body :is(form.checkout, form.track_order) :is(input, textarea, select):focus-visible { outline: 2px solid var(--mrprint-action-hover); outline-offset: 2px; }
html body .woocommerce-checkout .e-checkout__order_review :is(.product-name, .variation, .variation dd, .variation dt) { color: #fff !important; }
html body .woocommerce-checkout .e-checkout__order_review .variation { font-size: 13px !important; }
html body .niceshop-upload-zone__hint { font-size: 13px !important; line-height: 1.5; }
html body .niceshop-upload-zone__subhint, html body .niceshop-upload-zone__note { font-size: 14px !important; line-height: 1.5; }
html body .niceshop-upload-zone__file-name { min-width: 0; }
@media (min-width: 1024px) {
    html body .niceshop-popup-shell:not(.niceshop-popup-shell--cart) { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
    html body .niceshop-popup-shell:not(.niceshop-popup-shell--cart) .niceshop-popup__aside { padding: 24px; }
    html body .niceshop-popup-shell .niceshop-popup__main { min-width: 0; }
    html body .niceshop-popup-shell:not(.niceshop-popup-shell--cart) .niceshop-popup__sticky { grid-column: 1 / -1; }
}
@media (max-width: 767px) {
    html body .niceshop-pdp__heading { margin-bottom: 16px; }
    html body .niceshop-pdp__heading .niceshop-pdp__title { font-size: 25px !important; }
    html body .niceshop-pdp--modern .niceshop-pdp__main-frame { height: 300px !important; }
    html body .niceshop-pdp--modern .niceshop-pdp__details-head h3 { font-size: 20px !important; }
    html body .niceshop-pdp__mobile-bar { bottom: 56px !important; }
    html body .niceshop-modal { max-width: 100%; }
    html body .niceshop-popup__title { font-size: 20px !important; }
    html body .niceshop-popup__secondary-btn { font-size: 14px !important; }
    html body .elementor-3968 .elementor-widget-woocommerce-checkout-page { margin-left: 0 !important; width: 100% !important; }
    html body form.track_order .form-row { float: none !important; width: 100% !important; margin-bottom: 16px; }
    html body .niceshop-product-grid-wrapper { width: 100%; min-width: 0; }
    html body.woocommerce .elementor .e-con, html body .elementor-4530 .e-con, html body .niceshop-grid { min-width: 0; }
    html body .niceshop-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    html body #elementor-popup-modal-4530 .dialog-widget-content { max-width: 100%; max-height: calc(100dvh - 72px); }
    html body #elementor-popup-modal-4530 .dialog-message { overflow-y: auto; max-height: calc(100dvh - 72px); }
    html body #elementor-popup-modal-4530 .dialog-close-button { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; top: 8px; right: 8px; font-size: 20px; }
    html body .elementor-4530 .elementor-element-6dfb678 { margin: 12px 0 0 !important; width: 100%; }
    html body .elementor-4530 .elementor-loop-container { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 16px 12px !important; }
    html body .elementor-4530 .elementor-element-78427a4 { margin-bottom: 12px !important; padding-right: 44px; }
    html body .elementor-4530 .elementor-8939 { min-width: 0; padding: 0 !important; }
    html body .elementor-4530 .elementor-element-8da7b70 { margin: 8px 0 0 !important; }
    html body .elementor-4530 .elementor-heading-title { font-size: 14px !important; line-height: 1.4 !important; white-space: normal; overflow-wrap: anywhere; }
    html body .elementor-4530 img { width: 100%; max-height: 112px; object-fit: contain; }
}
@media (prefers-reduced-motion: reduce) {
    html body :is(.niceshop-card, .niceshop-modal, .niceshop-overlay) { animation: none; transition: none; }
}

/* Overrides verified against legacy component rules and generated widget CSS. */
html body .niceshop-card .niceshop-card__wishlist { background: #fff !important; border-radius: 50% !important; }
html body .niceshop-card .niceshop-card__cart { border-radius: 50% !important; }
html body .niceshop-card .niceshop-card__btn { white-space: normal !important; }
html body .elementor-menu-cart__products :is(.niceshop-mini-qty__btn, .niceshop-mini-qty__input) { min-height: 44px !important; height: 44px !important; }
html body .elementor-menu-cart__products .niceshop-mini-qty__btn { background: #fff !important; color: var(--mrprint-action-hover) !important; border: 1px solid #CBD5E1 !important; }
html body.woocommerce-checkout form.checkout :is(input.input-text, textarea)::placeholder,
html body.woocommerce form.track_order :is(input.input-text, textarea)::placeholder,
html body .woocommerce form.checkout_coupon input.input-text::placeholder { color: #596273 !important; -webkit-text-fill-color: #596273 !important; opacity: 1 !important; }
html body.niceshop-product-modern .niceshop-pdp.niceshop-pdp--modern .niceshop-pdp__step { background: var(--mrprint-action) !important; }
html body .niceshop-receipt .button { display: inline-flex; align-items: center; justify-content: center; padding: 10px 16px; }
html body :is(form.track_order button, .niceshop-receipt .button) { background: var(--mrprint-action) !important; color: #fff !important; border-color: var(--mrprint-action) !important; }
html body .niceshop-receipt .button:hover { background: var(--mrprint-action-hover) !important; }
html body .woocommerce form.verify-email :is(input.input-text,button) { min-height: 48px; font-size: 16px; }
html body #elementor-popup-modal-4530 { z-index: 100002 !important; }
html body .elementor-3968 .elementor-element-27eba24 { margin: 0 !important; padding: 24px 12px !important; min-height: 0; width: 100%; }
html body .elementor-3968 .elementor-element-49d381e { margin: 0 !important; padding: 0 !important; min-height: 0; width: 100%; }
html body .elementor-3968 .elementor-element-61611a8 > .elementor-widget-container { margin: 0 !important; }
html body .elementor-3968 .elementor-element-61611a8 h1 { font-size: 26px !important; line-height: 1.3 !important; }
@media (max-width: 1024px) {
    html body .elementor-location-header .elementor-menu-cart__toggle_wrapper { display: flex; justify-content: flex-end; width: 100%; }
    html body .elementor-location-header .elementor-button-icon-qty { right: 0 !important; top: -8px !important; transform: none !important; }
}

/* Keep the last navigation underline/separator inside its own link. */
html body .elementor-location-header .elementor-nav-menu > li:last-child > .elementor-item::after { left: auto !important; right: 0 !important; max-width: 100%; }

html body .niceshop-bottom-cart__icon { position: relative; height: 23px; }
html body .niceshop-bottom-cart .niceshop-cart-count { position: absolute; top: -7px; right: -10px; min-width: 17px; height: 17px; padding: 0 3px; border-radius: 50%; color: #fff; background: var(--mrprint-action); font-size: 10px; line-height: 17px; text-align: center; }
