@import url('https://fonts.googleapis.com/css2?family=Jost:wght@400;500;600&display=swap');

/* Shared shopping UI, including drawers opened from the homepage. */
:root { --shopping-font: 'Jost', sans-serif; --shopping-ink: #1a1612; --shopping-paper: #fffdf9; --shopping-line: #ded7cd; }
.ilaaura-internal-page .ilaaura-page-content { font-family: var(--shopping-font); }
.ilaaura-internal-page .ilaaura-page-content :is(h1,h2,h3,h4,h5,h6,.section-title,.nav-link,.btn) { font-family: var(--shopping-font) !important; }
:is(#cartmodal,#login-canvas,#quickview) { font-family: var(--shopping-font); color: var(--shopping-ink); }
:is(#cartmodal,#login-canvas) { --bs-offcanvas-width: 460px; width: min(460px, 100vw) !important; background: var(--shopping-paper); border: 0; }
:is(#cartmodal,#login-canvas) .offcanvas-header { flex: 0 0 auto; padding: 26px 28px; border-bottom: 1px solid var(--shopping-line); background: transparent; }
:is(#cartmodal,#login-canvas) .offcanvas-title { font: 400 24px/1.3 var(--shopping-font) !important; text-transform: none; letter-spacing: 0; }
:is(#cartmodal,#login-canvas) .btn-close { width: 24px; height: 24px; padding: 6px; opacity: .8; box-shadow: none; }
:is(#cartmodal,#login-canvas,#quickview) :is(button,a,input):focus-visible { outline: 2px solid #a0522d; outline-offset: 3px; }
#cartmodal .offcanvas-body { flex: 1 1 auto; overflow-y: auto; min-height: 0; padding: 0 28px !important; }
#cartmodal .cart-modal-card { margin: 0; padding: 24px 0; border: 0; border-bottom: 1px solid var(--shopping-line); border-radius: 0; background: transparent; box-shadow: none; position: relative; }
#cartmodal .cart-modal-card > .row { display: grid; grid-template-columns: 104px minmax(0,1fr); gap: 18px; margin: 0; }
#cartmodal .cart-modal-card .row > :is(.col-4,.col-8) { width: 100%; padding: 0; }
#cartmodal .cart-img-box { width: 100%; height: auto; aspect-ratio: 3/4; padding: 0; overflow: hidden; border-radius: 0; background: #f5f0e8; }
#cartmodal .cart-img-box img { width: 100%; height: 100%; object-fit: cover; border-radius: 0 !important; }
#cartmodal .card-body { padding: 0 20px 0 0; }
#cartmodal .card-title { font: 400 17px/1.4 var(--shopping-font) !important; margin: 0 0 8px; white-space: normal; }
#cartmodal .card-text { font: 400 13px/1.5 var(--shopping-font); color: #746b62; white-space: normal; overflow-wrap: anywhere; margin-bottom: 12px; }
#cartmodal .cart-modal-pricing { font: 400 17px/1.4 var(--shopping-font); color: var(--shopping-ink); margin: 12px 0 0 !important; }
#cartmodal .num-block { width: fit-content; margin: 0 !important; }
#cartmodal .num-block :is(button,input) { width: 32px; height: 32px; min-height: 32px; padding: 0; border-radius: 0 !important; font: 14px var(--shopping-font); background: transparent; }
#cartmodal .product-quantity { width: 38px; }
#cartmodal .product-quantity input { width: 38px; }
#cartmodal .product-sm-removal { position: absolute; top: 20px; right: -8px; }
#cartmodal .remove-product { display: grid; place-items: center; width: 32px; height: 32px; padding: 0; border: 0; font-size: 20px; background: transparent; }
#cartmodal .offcanvas-footer { flex: 0 0 auto; padding: 22px 28px max(24px,env(safe-area-inset-bottom)); border-top: 1px solid var(--shopping-line); background: var(--shopping-paper); }
#cartmodal .subtotal-section { padding: 0; margin: 0 0 16px; border: 0; display: flex; justify-content: space-between; align-items: baseline; gap: 14px; }
#cartmodal .subtotal-section h5 { font: 400 20px/1.4 var(--shopping-font) !important; margin: 0; color: var(--shopping-ink); }
#cartmodal .cart-modal-checkout-section { padding: 0; margin: 0; }
#cartmodal:has(.cart-modal-card) .cart-modal-checkout-section { display: block !important; }
#cartmodal :is(.view-cart-btn,.checkout-btn), #login-canvas .submit-btn { display: block !important; width: 100%; border: 1px solid var(--shopping-ink); border-radius: 0 !important; min-height: 46px; padding: 13px 16px; text-transform: uppercase; font: 400 12px/1.5 var(--shopping-font) !important; letter-spacing: .12em; box-shadow: none; }
#cartmodal .checkout-btn, #login-canvas .submit-btn { background: var(--shopping-ink) !important; color: white !important; }
#cartmodal .view-cart-btn { background: transparent !important; color: var(--shopping-ink) !important; }
#cartmodal .checkout-btn:hover, #login-canvas .submit-btn:hover { background: #a0522d !important; }
.ilaaura-cart-note { font: 12px/1.5 var(--shopping-font); color: #746b62; margin: 0 0 14px; }
.ilaaura-cart-empty-help { display: none; padding: 0 28px 28px; text-align: center; }
#cartmodal:not(:has(.cart-modal-card)) .offcanvas-body { flex: 0 1 auto; }
#cartmodal:not(:has(.cart-modal-card)) .offcanvas-footer { display: none; }
#cartmodal:not(:has(.cart-modal-card)) .ilaaura-cart-empty-help { display: block; }
#cartmodal:not(:has(.cart-modal-card)) #cart-item-sidebar h5 { font: 400 24px/1.4 var(--shopping-font); }
#cartmodal:not(:has(.cart-modal-card)) #cart-item-sidebar ion-icon { font-size: 48px; }
#cartmodal:not(:has(.cart-modal-card)) #cart-item-sidebar .btn { margin-top: 12px; border-radius: 0; padding: 14px 24px; background: var(--shopping-ink) !important; border-color: var(--shopping-ink) !important; color: white; font: 12px var(--shopping-font) !important; letter-spacing: .1em; }
.ilaaura-cart-empty-help h3 { font: 400 23px var(--shopping-font); }
.ilaaura-cart-empty-help p { font-size: 14px; }
.ilaaura-cart-empty-help p a { color: var(--shopping-ink); text-decoration: underline; text-underline-offset: 4px; }
.ilaaura-bag-discover { display: flex; justify-content: space-between; padding: 24px 0; margin-top: 32px; border-block: 1px solid var(--shopping-line); font-size: 16px; color: var(--shopping-ink); }
#login-canvas .offcanvas-body { padding: 32px 28px; }
.ilaaura-login-intro { font-size: 16px; color: #746b62; line-height: 1.6; margin-bottom: 28px; }
#login-canvas :is(.form-control,.password-insert) { min-height: 48px; border: 1px solid var(--shopping-line); border-radius: 0 !important; background: transparent; font: 16px var(--shopping-font); box-shadow: none; }
#login-canvas .password-insert input { border: 0; }
#login-canvas .form-lable { font: 14px var(--shopping-font); margin-bottom: 8px; }
#login-canvas .form-label { margin: 0; }
#login-canvas .btn-link { color: var(--shopping-ink); font: 14px var(--shopping-font); }
#quickview .modal-dialog { max-width: 1060px; }
#quickview :is(.modal-content,.quickview-card,.mySwiper-quickview) { border-radius: 0 !important; border: 0; background: var(--shopping-paper); }
#quickview .quickview-card .card-body { padding: 40px; }
#quickview .quickview-title { font: 400 25px/1.3 var(--shopping-font) !important; }
#quickview .quickview-pricing { font: 400 23px var(--shopping-font); }
#quickview .swiper-slide img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
#quickview .mySwiper-quickview { height: auto; aspect-ratio: 3/4; }
#quickview .swiper-wrapper, #quickview .swiper-slide { height: 100%; }
#quickview .btn { border-radius: 0 !important; font: 12px/1.5 var(--shopping-font) !important; letter-spacing: .08em; }
#quickview .quickview-close-btn { top: 10px; right: 10px; border-radius: 50%; width: 36px; height: 36px; background: var(--shopping-paper); color: var(--shopping-ink); }
#quickview .media-icons { display: none; }
@media (max-width: 991px) {
    .ilaaura-internal-page .ilaaura-page-content .table-responsive { max-width: 100%; }
    .ilaaura-internal-page .billing-detail-section, .ilaaura-internal-page .order-summary { margin-bottom: 24px; }
}
@media (max-width: 575px) {
    :is(#cartmodal,#login-canvas) { width: 100% !important; }
    :is(#cartmodal,#login-canvas) .offcanvas-header { padding: 20px; }
    #cartmodal .offcanvas-body { padding-inline: 20px !important; }
    #cartmodal .offcanvas-footer { padding: 18px 20px max(18px,env(safe-area-inset-bottom)); }
    #cartmodal .cart-modal-card > .row { grid-template-columns: 90px minmax(0,1fr); gap: 14px; }
    #cartmodal .card-title { font-size: 16px !important; }
    #login-canvas .offcanvas-body { padding: 24px 20px; }
    #login-canvas .offcanvas-title { font-size: 22px !important; }
    #quickview .modal-dialog { margin: 10px; }
    #quickview .quickview-card .card-body { padding: 24px; }
    #quickview .mySwiper-quickview { max-height: 48dvh; }
}
@media (prefers-reduced-motion: reduce) {
    :is(#cartmodal,#login-canvas,#quickview), :is(#cartmodal,#login-canvas,#quickview) * { transition: none !important; animation: none !important; }
}
