/** Shared modal, quick view, cart and wishlist interactions. */
.aurome-dialog { position:fixed; max-height:92dvh; border:0; padding:28px; color:#202020; background:#fff; border-radius:12px; box-shadow:0 24px 90px #0003; font-family:var(--aurome-sans); }
.aurome-dialog::backdrop { background:rgb(8 16 28 / 58%); backdrop-filter:blur(3px); }
.aurome-dialog:not([open]) { display:none; }
.aurome-dialog__heading { display:flex; align-items:center; justify-content:space-between; gap:16px; border-bottom:1px solid #e6e8ec; padding-bottom:16px; }
.aurome-dialog .aurome-dialog__heading h2 { margin:0; font:500 34px/1.15 var(--aurome-serif); }
.aurome-dialog .aurome-dialog__close { display:grid; width:44px; height:44px; min-width:44px; place-items:center; border:1px solid #d8dde4; border-radius:50%; padding:0; background:#fff; color:#0d1a2e; font:400 29px/1 sans-serif; cursor:pointer; }
.aurome-dialog button:focus-visible,.aurome-dialog a:focus-visible,.aurome-dialog input:focus-visible,.aurome-dialog select:focus-visible { outline:3px solid #496b91; outline-offset:3px; }
.aurome-dialog .aurome-button { display:flex; align-items:center; justify-content:center; gap:12px; min-height:48px; padding:14px 20px; border:1px solid #0d1a2e; border-radius:4px; background:#0d1a2e; color:white; font:var(--aurome-type-control); text-decoration:none; letter-spacing:0; text-transform:none; }
.aurome-dialog .aurome-button:hover { background:#1a3050; }
.aurome-commerce-status { font-size:14px; line-height:1.5; color:#425166; margin:14px 0; }
.aurome-commerce-status:empty { display:none; }
.aurome-cart-drawer { inset:0 0 0 auto; width:min(420px,100%); max-width:100%; height:100dvh; max-height:100dvh; margin:0; border-radius:0; padding:24px; overflow-y:auto; }
.aurome-cart-drawer[open] { animation:aurome-drawer-enter 240ms ease-out; }
@keyframes aurome-drawer-enter { from { transform:translateX(100%); } to { transform:translateX(0); } }
.aurome-cart-items { list-style:none; margin:0; padding:0; }
.aurome-cart-item { display:grid; grid-template-columns:76px minmax(0,1fr); gap:16px; padding:24px 0; border-bottom:1px solid #e6e8ec; }
.aurome-cart-item__image { display:block; }
.aurome-cart-item__image img { width:76px; height:90px; object-fit:contain; background:#f7f9fc; border-radius:5px; }
.aurome-cart-item h3 { margin:0 0 6px; font:var(--aurome-type-title); }
.aurome-cart-item h3 a { color:#0d1a2e; text-decoration:none; }
.aurome-cart-item p { margin:4px 0 12px; font-size:14px; }
.aurome-cart-item .variation { display:flex; flex-wrap:wrap; gap:4px; font-size:12px; margin:0; }
.aurome-cart-item .variation dt,.aurome-cart-item .variation dd { margin:0; }
.aurome-cart-item .variation p { margin:0; font-size:12px; }
.aurome-cart-item__actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:space-between; }
.aurome-cart-quantity { display:flex; border:1px solid #d4dae3; border-radius:4px; overflow:hidden; }
.aurome-cart-quantity button { width:36px; height:44px; padding:0; border:0; border-radius:0; color:#0d1a2e; background:white; font-size:20px; }
.aurome-cart-quantity input { width:42px; height:44px; padding:0; border:0; text-align:center; color:#0d1a2e; background:white; font:var(--aurome-type-body); appearance:textfield; }
.aurome-cart-quantity input::-webkit-inner-spin-button,.aurome-cart-quantity input::-webkit-outer-spin-button { appearance:none; margin:0; }
.aurome-cart-quantity button:disabled { color:#a6adba; cursor:default; }
.aurome-cart-item .aurome-cart-remove,.aurome-cart-summary .aurome-cart-continue { padding:8px 0; border:0; background:transparent; color:#526277; font:400 14px/1.5 var(--aurome-sans); text-decoration:underline; text-underline-offset:3px; }
.aurome-cart-summary { padding-top:24px; }
.aurome-cart-summary > p { display:flex; justify-content:space-between; gap:16px; margin-bottom:8px; }
.aurome-cart-summary small { display:block; margin:0 0 24px; color:#606973; font-size:14px; line-height:1.6; }
.aurome-cart-full { display:block; color:#0d1a2e; text-align:center; font-size:14px; padding-top:14px; }
.aurome-cart-summary .aurome-cart-continue { display:block; margin:8px auto 0; }
.aurome-cart-empty { text-align:center; padding:60px 0 32px; }
.aurome-cart-empty > span { display:block; color:#8798ac; font:400 70px/1 var(--aurome-serif); margin-bottom:20px; }
.aurome-cart-empty h3 { font:500 32px/1.12 var(--aurome-serif); }
.aurome-cart-empty p { font-size:16px; margin:14px 0 28px; }
.aurome-quick-view { inset:0; width:min(920px,calc(100% - 32px)); max-width:920px; margin:auto; overflow:auto; padding:42px 32px 32px; }
.aurome-quick-view > .aurome-dialog__close { position:absolute; right:14px; top:14px; z-index:3; }
.aurome-quick-product { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px; align-items:start; }
.aurome-quick-gallery__main { background:#f7f9fc; border-radius:8px; overflow:hidden; }
.aurome-quick-gallery__main img { display:block; width:100%; aspect-ratio:1; object-fit:contain; }
.aurome-quick-gallery__thumbs { display:flex; gap:10px; margin-top:12px; overflow:auto; padding:3px; }
.aurome-quick-gallery__thumbs button { flex:0 0 60px; padding:2px; background:white; border:1px solid #dce2ea; border-radius:4px; }
.aurome-quick-gallery__thumbs button[aria-pressed=true] { border-color:#0d1a2e; }
.aurome-quick-gallery__thumbs img { display:block; width:56px; height:60px; object-fit:contain; }
.aurome-quick-view .aurome-quick-summary { float:none; width:100%; margin:0; }
.aurome-quick-summary .aurome-eyebrow { font-size:12px; color:#496b91; letter-spacing:var(--aurome-label-tracking); text-transform:uppercase; margin:10px 0 12px; }
.aurome-quick-summary h2 { font:500 clamp(32px,3.5vw,40px)/1.12 var(--aurome-serif); color:#0d1a2e; margin:0 0 18px; letter-spacing:var(--aurome-display-tracking); }
.aurome-quick-summary .price { font-size:24px; margin-bottom:20px; }
.aurome-quick-summary .woocommerce-product-details__short-description { font-size:16px; line-height:1.65; color:#56616c; }
.aurome-quick-summary .cart { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin:20px 0; }
.aurome-quick-summary .variations_form { display:block; }
.aurome-quick-summary .variations { width:100%; border:0; margin:0 0 18px; }
.aurome-quick-summary .variations th,.aurome-quick-summary .variations td { border:0; padding:6px 0; }
.aurome-quick-summary .variations th { width:28%; font-size:14px; }
.aurome-quick-summary .variations select { min-height:44px; width:100%; background:#fff; border:1px solid #cbd3df; border-radius:4px; font-size:16px; padding:8px; }
.aurome-quick-summary .reset_variations { display:inline-block; color:#496b91; font-size:14px; margin-top:8px; }
.aurome-quick-summary .woocommerce-variation-add-to-cart { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.aurome-quick-summary .quantity { float:none; margin:0; }
.aurome-quick-summary .quantity input { min-height:48px; width:72px; border:1px solid #cbd3df; border-radius:4px; text-align:center; padding:8px; }
.aurome-quick-summary .single_add_to_cart_button { padding:15px 24px; min-height:48px; border:1px solid #0d1a2e; border-radius:4px; background:#0d1a2e; color:#fff; font:var(--aurome-type-control); letter-spacing:0; text-transform:none; }
.aurome-quick-summary .single_add_to_cart_button.disabled { opacity:.5; cursor:not-allowed; }
.aurome-quick-summary .stock { font-size:14px; }
.aurome-quick-details { display:inline-block; padding:10px 0; font-size:14px; color:#0d1a2e; text-underline-offset:5px; }
.aurome-commerce-toast { position:fixed; left:50%; bottom:24px; transform:translateX(-50%); z-index:999999; max-width:calc(100% - 32px); width:max-content; padding:14px 22px; border-radius:8px; background:#0d1a2e; color:#fff; box-shadow:0 6px 30px #0002; font:400 14px/1.5 var(--aurome-sans); pointer-events:none; }
.aurome-commerce-toast[hidden] { display:none; }
.aurome-wishlist { min-height:35vh; }
.aurome-wishlist > .aurome-button { display:inline-flex; margin-top:28px; }
.aurome-wishlist .aurome-product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
@media(max-width:1023px) { .aurome-wishlist .aurome-product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .aurome-commerce-toast { bottom:86px; } }
@media(max-width:767px) { .aurome-quick-view { width:calc(100% - 20px); padding:60px 20px 24px; max-height:90dvh; } .aurome-quick-product { grid-template-columns:1fr; gap:20px; } .aurome-quick-gallery__main img { max-height:280px; } .aurome-cart-drawer { padding:20px; } .aurome-wishlist .aurome-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } }
@media(prefers-reduced-motion:reduce) { .aurome-cart-drawer[open] { animation:none; } }
/* Native Woo colors and dimmed reset links need full contrast in this white modal. */
.aurome-storefront .aurome-quick-view .aurome-quick-summary .price { color:#0d1a2e; font-weight:500; }
.aurome-storefront .aurome-quick-view .aurome-quick-summary .stock.in-stock { color:#38664b; }
.aurome-storefront .aurome-quick-view .aurome-quick-summary .stock.out-of-stock { color:#a52e3c; }
.aurome-storefront .aurome-quick-view .aurome-quick-summary form.cart .reset_variations { color:#496b91; opacity:1; }
