/* Shared visual treatment for Mivora's shopping journey. */
:is(.unified-home, .storefront) { -webkit-font-smoothing: antialiased; }
:is(.unified-home, .storefront) .button { font-family: var(--font-sans); font-size: 14px; font-weight: 650; letter-spacing: .01em; min-height: 46px; }
:is(.unified-home, .storefront) :is(.platform-notice, .store-notice) { font-weight: 500; letter-spacing: .035em; }
:is(.unified-home, .storefront) :is(.platform-nav nav a, .store-nav a) { font-weight: 600; }
:is(.unified-home, .storefront) :is(h1, h2) { text-wrap: balance; }
.unified-home main { max-width: 1360px; padding: 20px 32px 72px; }
.unified-home .mivora-home-search { display: flex; align-items: center; gap: 24px; max-width: none; margin: 0 0 24px; padding: 0; }
.unified-home .mivora-home-search label { font-size: 13px; font-weight: 550; margin: 0; white-space: nowrap; }
.unified-home .mivora-home-search > div { flex: 1; max-width: 650px; margin-left: auto; }
.unified-home .mivora-home-search input { background: var(--mivora-paper); border-radius: 999px; min-height: 46px; padding-inline: 20px; }
.unified-home .platform-hero { min-height: 510px; grid-template-columns: 1fr 1fr; border-radius: 20px; background: var(--mivora-cream); }
.unified-home .hero-content { padding: 48px 52px; }
.unified-home .hero-content h1 { font-size: clamp(42px, 4.5vw, 64px); line-height: 1.06; letter-spacing: -.045em; max-width: 13ch; }
.unified-home .hero-lede { font-size: 16px; line-height: 1.7; max-width: 38ch; }
.unified-home .platform-hero figure { min-height: 510px; max-height: 580px; }
.unified-home .platform-hero img { object-position: 58% center; }
.unified-home .platform-actions { flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.unified-home .platform-actions .quiet { background: transparent; border-color: var(--platform-muted); }
.unified-home .platform-doors { gap: 24px; padding: 24px 0 0; }
.unified-home .platform-door { grid-template-columns: 140px 1fr; align-content: center; gap: 0 28px; padding: 22px; background: var(--mivora-paper); border-radius: 18px; }
.unified-home .door-mark { width: 140px; height: 172px; border-radius: 10px; font-size: 0; background-size: cover; background-position: center; }
.unified-home .shop-door .door-mark { background-image: url('/images/pet-home-rest.png'); }
.unified-home .studio-door .door-mark { background-image: url('/images/pawmuse-studio.png'); }
.unified-home .platform-door h2 { font-size: 30px; }
.unified-home .platform-door p { font-size: 14px; line-height: 1.65; }
.unified-home .door-action { color: var(--platform-brand); font-weight: 650; }
.unified-home .door-action::after { content: ' ↗'; }
.unified-home .platform-footer { padding-block: 38px; }
.storefront .catalog-shell { border: 0; border-top: 1px solid var(--store-line); border-radius: 0; padding: 28px 0; background: transparent; }
.storefront .catalog-toolbar { gap: 40px; margin-bottom: 30px; }
.storefront .catalog-toolbar > :first-child { min-width: 180px; }
.storefront .catalog-toolbar h2 { font-size: 26px; }
.storefront .store-select { border-radius: 8px; background: var(--paper); }
.storefront .product-grid { gap: 28px; }
.storefront .product-card { border: 0; border-radius: 0; background: transparent; overflow: visible; }
.storefront .product-image { flex: none; width: 100%; aspect-ratio: 1 / 1; height: auto; border-radius: 12px; overflow: hidden; }
.storefront .product-body { grid-template-areas: 'meta meta' 'title title' 'price price' 'origin origin' 'need need' 'notes notes' 'actions actions'; gap: 9px; padding: 18px 0 4px; }
.storefront .product-body h3 { font-family: var(--font-sans); font-size: 17px; font-weight: 600; line-height: 1.4; }
.storefront .product-price { justify-self: start; font-size: 17px; font-weight: 650; color: var(--store-ink); }
.storefront .product-cat { font-size: 11px; letter-spacing: .04em; color: var(--store-muted); }
.storefront .product-actions { gap: 8px; padding-top: 5px; }
.storefront .product-actions .button { border-radius: 8px; }
.storefront .product-notes { font-size: 13px; }
.storefront .shared-checkout-main { max-width: 1120px; margin-top: 40px; }
.storefront .shared-checkout-card { background: var(--mivora-paper); padding: 32px; border-radius: 14px; box-shadow: 0 6px 24px rgb(20 40 30 / .025); }
.storefront .shared-checkout-card h2 { font-size: 25px; margin-top: 0; }
.storefront .shared-checkout-card label { font-size: 14px; line-height: 1.5; }
.storefront #sharedReview { position: sticky; top: 106px; background: color-mix(in srgb, var(--mivora-sage) 35%, var(--mivora-paper)); }
.storefront #sharedPay { width: 100%; margin-top: 12px; }
.storefront .shared-order-row { padding-block: 22px 4px; }
.storefront .shared-order-row h3 { margin: 0 0 12px; font-family: var(--font-sans); font-size: 16px; font-weight: 650; letter-spacing: .01em; }
.storefront .shared-order-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; color: var(--mivora-muted); font-size: 13px; }
.storefront .shared-order-status { display: inline-flex; align-items: center; min-height: 28px; padding: 3px 10px; border-radius: 999px; background: var(--mivora-sage); color: var(--mivora-ink); font-weight: 650; }
.storefront .shared-order-status[data-status="paid"] { background: #d7eadc; color: #1f6845; }
.storefront .shared-order-status[data-status="cancelled"], .storefront .shared-order-status[data-status="expired"], .storefront .shared-order-status[data-status="failed"] { background: #f4ddd6; color: #8a4636; }
:root[data-theme="dark"] .storefront .shared-order-status[data-status="paid"] { background: #203e2c; color: #b9dfc6; }
:root[data-theme="dark"] .storefront .shared-order-status:is([data-status="cancelled"], [data-status="expired"], [data-status="failed"]) { background: #492e27; color: #f2c3b4; }
:root[data-theme="dark"] .product-page .product-fulfillment { background: #493126; color: #f0c4ad; }
:root[data-theme="dark"] .product-page .product-stock[data-available="false"] { background: #303a35; color: #c4d0ca; }
.storefront .shared-order-row summary:focus-visible { outline: 3px solid var(--mivora-forest); outline-offset: 4px; }
.storefront .shared-order-total { margin-left: auto; color: var(--mivora-ink); font-size: 15px; font-weight: 650; }
.storefront .shared-order-row details { margin-top: 12px; border-top: 1px solid var(--mivora-line); padding-top: 10px; }
.storefront .shared-order-row summary { cursor: pointer; color: var(--mivora-forest); font-size: 13px; font-weight: 600; }
.storefront .shared-order-row details ul { margin: 10px 0 0; padding-left: 18px; color: var(--mivora-muted); font-size: 13px; line-height: 1.6; }
.product-page .product-info h1 { font-size: clamp(32px, 3.6vw, 50px); line-height: 1.12; letter-spacing: -.035em; }
.product-page .product-gallery { border-radius: 16px; }
.product-page .product-price-large { font-size: 24px; font-weight: 600; }
.product-page .product-actions-detail .button { border-radius: 10px; }
.product-page .product-stock[data-available="false"] { background: var(--store-soft); color: var(--store-muted); }
.storefront .cart-button > span:not(#cartCount) { display: inline; height: auto; min-width: 0; border-radius: 0; background: transparent; color: inherit; font-size: inherit; }
.storefront .cart-items { align-content: start; }
.storefront .cart-empty { display: grid; align-content: start; gap: 12px; padding: 28px 0; }
.storefront .cart-empty p { margin: 0; line-height: 1.6; }
.storefront .cart-empty .button { margin-top: 8px; }
@media (max-width: 980px) {
  .unified-home .hero-content { padding: 36px; }
  .unified-home .platform-door { grid-template-columns: 100px 1fr; gap: 0 20px; }
  .unified-home .door-mark { width: 100px; height: 160px; }
  .storefront .product-grid { gap: 20px; }
}
@media (max-width: 720px) {
  .unified-home main { padding: 20px 16px 48px; }
  .unified-home .mivora-home-search { display: block; margin-bottom: 20px; }
  .unified-home .mivora-home-search label { display: block; margin-bottom: 8px; }
  .unified-home .platform-hero { grid-template-columns: 1fr; min-height: 0; }
  .unified-home .hero-content { padding: 32px 26px; }
  .unified-home .hero-content h1 { font-size: 42px; max-width: 14ch; }
  .unified-home .hero-lede { font-size: 15px; }
  .unified-home .platform-hero figure { min-height: 280px; height: 280px; }
  .unified-home .platform-doors { gap: 16px; }
  .unified-home .platform-door { padding: 18px; }
  .unified-home .platform-door h2 { font-size: 26px; }
  .storefront .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 14px; }
  .storefront .product-body h3 { font-size: 14px; }
  .storefront .product-price { font-size: 15px; }
  .storefront .product-body { padding-top: 12px; gap: 8px; }
  .storefront .topbar-actions { flex-wrap: nowrap; gap: 8px; }
  :is(.storefront, .unified-home) .ui-preferences { width: auto; flex: 0 1 auto; }
  :is(.storefront, .unified-home) .ui-language-select { width: 94px; min-width: 0; max-width: 94px; }
  .storefront.catalog-focused .shop-intro { padding: 22px 4px 12px; gap: 8px; }
  .storefront .shop-intro p { font-size: 14px; margin-bottom: 8px; }
  .storefront .catalog-toolbar { margin-bottom: 22px; }
  .storefront .catalog-shell { padding: 22px 0; }
  .storefront .shared-checkout-card { padding: 22px; }
  .storefront #sharedReview { position: static; }
  .storefront .shared-order-total { margin-left: 0; }
}
@media (max-width: 350px) { .storefront .product-grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .unified-home .platform-door:hover { transform: none; } }
