html.awm-cart-open { overflow: hidden; }
.aw-modern .awm-cart-drawer { position: fixed; inset: 0 0 0 auto; width: min(440px,100vw); max-width: 100%; height: 100vh; height: 100dvh; max-height: 100%; margin: 0 0 0 auto; padding: 0; border: 0; border-left: 1px solid #d8dfd3; border-radius: 0; color: #19251f; background: #fffefa; box-shadow: -18px 0 60px rgb(23 55 43 / 16%); z-index: 100001; overflow: hidden; font: 15px/1.55 var(--awm-sans); }
.aw-modern .awm-cart-drawer:not([open]) { display: none; }
.aw-modern .awm-cart-drawer[open] { display: flex; flex-direction: column; }
.awm-cart-drawer::backdrop { background: rgb(16 31 23 / 45%); }
.awm-cart-drawer-shade { position: fixed; inset: 0; z-index: 100000; background: rgb(16 31 23 / 45%); }
.awm-cart-drawer-header { display: flex; flex: 0 0 auto; width: 100%; justify-content: space-between; align-items: center; gap: 20px; padding: 20px 24px; background: #234c3b; color: #fffefa; }
.aw-modern .awm-cart-drawer-header h2 { flex: 1 1 auto; min-width: 0; margin: 0; color: #fffefa; font: 500 27px/1.2 var(--awm-serif); letter-spacing: -.025em; text-wrap: normal; }
.aw-modern .awm-cart-drawer-close { display: grid; place-items: center; width: 44px; min-width: 44px; height: 44px; padding: 0; border: 1px solid rgb(255 254 250 / 45%); border-radius: 50%; background: transparent; color: #fffefa; font: 400 28px/1 var(--awm-sans); cursor: pointer; }
.aw-modern .awm-cart-drawer-close:hover { background: rgb(255 254 250 / 13%); }
.awm-cart-feedback { flex: 0 0 auto; padding: 10px 24px; color: #234c3b; background: #e9efe5; font-size: 13px; }
.awm-cart-feedback.is-error { color: #702f21; background: #fff0e7; }
.awm-cart-drawer-content { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; min-width: 0; width: 100%; }
.awm-cart-drawer-scroll { min-height: 0; min-width: 0; width: 100%; flex: 1 1 auto; overflow-y: auto; overscroll-behavior: contain; padding: 24px; }
.aw-modern .awm-cart-items { width: 100%; list-style: none; padding: 0; margin: 0; }
.awm-cart-item { display: flex; flex-wrap: wrap; width: 100%; gap: 12px 16px; padding-bottom: 22px; margin: 0 0 22px; border-bottom: 1px solid #d8dfd3; }
.awm-cart-item:last-child { margin-bottom: 0; }
.awm-cart-item-image { align-self: start; flex: 0 0 78px; width: 78px; }
.awm-cart-item-info { flex: 1 1 0; min-width: 0; }
.awm-cart-item-image img { display: block; width: 78px; height: 78px; padding: 0; object-fit: contain; border: 0; border-radius: 10px; background: #fff; }
.aw-modern .awm-cart-item-info h3 { margin: 0 0 7px; color: #17372b; font: 650 15px/1.4 var(--awm-sans); letter-spacing: 0; overflow-wrap: anywhere; }
.awm-cart-item-info h3 a, .awm-cart-suggestion h3 a { color: inherit; text-decoration: none; }
.awm-cart-item-info h3 a:hover, .awm-cart-suggestion h3 a:hover { text-decoration: underline; }
.awm-cart-item-options { font-size: 12px; color: #526257; }
.awm-cart-item-options dl { display: block; margin: 0; }
.awm-cart-item-options dt { display: inline; font-weight: 600; }
.awm-cart-item-options dt::before { content: ''; display: block; }
.awm-cart-item-options dd { display: inline; margin: 0 0 0 4px; }
.awm-cart-item-options p { display: inline; margin: 0; }
.aw-modern .awm-cart-item-price { color: #234c3b; font: 700 17px/1.4 var(--awm-sans); margin: 10px 0 0; }
.awm-cart-item-actions { flex: 0 0 100%; width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.awm-drawer-quantity { display: inline-flex; min-height: 42px; border: 1px solid #bdcbbb; border-radius: 8px; overflow: hidden; }
.aw-modern .awm-drawer-quantity button { width: 42px; height: 42px; padding: 0; border: 0; border-radius: 0; color: #234c3b; background: #f0f3eb; font: 600 20px/1 var(--awm-sans); cursor: pointer; }
.aw-modern .awm-drawer-quantity button:hover:not(:disabled) { background: #e1e9d9; }
.aw-modern .awm-drawer-quantity input { width: 48px; min-width: 0; height: 42px; min-height: 0; padding: 0 2px; border: 0; border-inline: 1px solid #d8dfd3; border-radius: 0; background: #fffefa; color: #19251f; text-align: center; font: 600 15px/42px var(--awm-sans); appearance: textfield; -moz-appearance: textfield; }
.awm-drawer-quantity input::-webkit-inner-spin-button, .awm-drawer-quantity input::-webkit-outer-spin-button { appearance: none; margin: 0; }
.aw-modern .awm-cart-remove { min-height: 42px; padding: 5px 0 5px 12px; color: #526257; background: transparent; border: 0; border-radius: 0; font: 500 12px/1.4 var(--awm-sans); text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.awm-cart-suggestion { margin-top: 22px; padding: 17px; border: 1px solid #d8dfd3; border-radius: 12px; background: #f2f5ec; }
.aw-modern .awm-cart-suggestion-label { color: #47673b; font: 700 11px/1.4 var(--awm-sans); letter-spacing: .065em; text-transform: uppercase; margin: 0 0 15px; }
.awm-cart-suggestion-row { display: grid; grid-template-columns: 58px minmax(0,1fr); align-items: center; gap: 12px; }
.awm-cart-suggestion-image img { width: 58px; height: 58px; object-fit: contain; border-radius: 8px; background: #fff; }
.aw-modern .awm-cart-suggestion h3 { color: #17372b; font: 650 13px/1.4 var(--awm-sans); letter-spacing: 0; margin: 0 0 5px; }
.aw-modern .awm-cart-suggestion-row p { color: #234c3b; font: 650 13px/1.5 var(--awm-sans); margin: 0; }
.aw-modern .awm-cart-suggestion-add { grid-column: 2; justify-self: start; min-height: 38px; padding: 7px 15px; border: 1px solid #829b75; border-radius: 999px; background: transparent; color: #234c3b; font: 650 12px/1.5 var(--awm-sans); text-decoration: none; cursor: pointer; }
.aw-modern .awm-cart-suggestion-add:hover { color: #fffefa; background: #35634e; border-color: #35634e; }
.awm-cart-drawer-footer { flex: 0 0 auto; width: 100%; padding: 20px 24px max(20px,env(safe-area-inset-bottom)); background: #f8f5ed; border-top: 1px solid #d8dfd3; }
.awm-cart-subtotal { display: flex; align-items: baseline; justify-content: space-between; gap: 15px; }
.awm-cart-subtotal > span { color: #526257; font: 650 12px/1.5 var(--awm-sans); letter-spacing: .035em; text-transform: uppercase; }
.awm-cart-subtotal strong { color: #17372b; font: 700 23px/1.35 var(--awm-sans); }
.aw-modern .awm-cart-tax { font-size: 12px; line-height: 1.6; color: #526257; margin: 7px 0 17px; }
.aw-modern .awm-drawer-primary { display: flex; justify-content: center; align-items: center; min-height: 50px; width: 100%; padding: 12px 18px; border: 1px solid #234c3b; border-radius: 999px; color: #fffefa; background: #234c3b; font: 700 16px/1.5 var(--awm-sans); text-decoration: none; text-align: center; transition: background-color .18s ease; }
.aw-modern .awm-drawer-primary:hover { background: #35634e; border-color: #35634e; color: #fffefa; }
.aw-modern .awm-drawer-cart-link { display: block; width: fit-content; margin: 12px auto 0; color: #526257; text-align: center; font-size: 12px; }
.awm-cart-empty, .awm-cart-loading { padding: 32px 24px; }
.aw-modern .awm-cart-empty-title { color: #17372b; font: 400 27px/1.25 var(--awm-serif); margin-bottom: 16px; }
.aw-modern .awm-cart-empty > p:not(.awm-cart-empty-title) { color: #526257; font-size: 15px; }
.awm-cart-empty .awm-drawer-primary { margin-top: 25px; }
.awm-drawer-form-errors { padding: 18px; margin-block: 18px; border: 1px solid #c8947c; border-radius: 10px; background: #fff5ed; color: #702f21; font-size: 14px; }
.awm-drawer-form-errors p:last-child, .awm-drawer-form-errors ul:last-child { margin-bottom: 0; }
.aw-modern .awm-cart-drawer button:disabled { opacity: .45; cursor: default; }
.awm-cart-drawer[aria-busy="true"] .awm-cart-drawer-content { opacity: .7; }
.awm-cart-drawer :is(button,input,a):focus-visible { outline: 3px solid #789d64; outline-offset: 3px; }
.awm-drawer-quantity :is(button,input):focus-visible { outline-offset: -3px; }
.awm-cart-drawer-header button:focus-visible { outline-color: #fffefa; }
@media (max-width:479px) {
  .aw-modern .awm-cart-drawer { width: 100%; }
  .awm-cart-drawer-header { padding: 16px 20px; }
  .awm-cart-drawer-scroll { padding: 20px; }
  .awm-cart-drawer-footer { padding-inline: 20px; }
  .awm-cart-feedback { padding-inline: 20px; }
}
@media (prefers-reduced-motion:no-preference) { .awm-cart-drawer[open] { animation: awm-cart-enter .22s ease both; } @keyframes awm-cart-enter { from { transform: translateX(100%); } to { transform: translateX(0); } } }
