/* Desktop presentation only. Existing component styles supply shared primitives
   and DOM contracts; this sheet controls desktop geometry. */
:root { --desktop-width: 1200px; --desktop-brand: #ddc89b; --desktop-ink: #5a3616; }
body { background: #faf9f6; }
a { color: inherit; }
.desktop-topline { padding: 10px max(24px, calc((100% - 1200px)/2)); background: var(--desktop-brand); color: var(--desktop-ink); font-size: 13px; }
.desktop-topline a { float: right; }
.desktop-header { max-width: var(--desktop-width); margin: auto; padding: 24px 16px; display: flex; align-items: center; gap: 28px; }
.desktop-logo { width: 180px; max-width: 100%; height: auto; }
.desktop-header a { text-decoration: none; white-space: nowrap; }
.desktop-search { flex: 1; min-width: 160px; }
.desktop-nav { display: flex; justify-content: center; flex-wrap: wrap; gap: 32px; padding: 16px; background: white; border-block: 1px solid #e5dfd2; }
.desktop-nav a { text-decoration: none; font-weight: 600; }
.desktop-nav a:hover, .desktop-nav [aria-current] { color: var(--desktop-ink); text-decoration: underline; text-underline-offset: 7px; }
.desktop-skip { position: absolute; left: -10000px; }
.desktop-skip:focus { left: 16px; top: 16px; z-index: 1000; background: white; padding: 12px; }
#main-content { max-width: var(--desktop-width); margin: 24px auto 48px; padding: 0 16px; }
#main-content [class$='-shell'], #main-content .home-content { width: 100%; max-width: none; margin: 0; overflow: visible; }
#main-content [class$='-page'] { min-height: 0; padding-bottom: 0; background: transparent; overflow: visible; }
#main-content .ks-safe-area, #main-content .safe-area, #main-content .ks-bottom-bar { display: none; }
#main-content [class$='-content'], #main-content [class$='-scroll-area'] { padding-bottom: 24px; max-height: none; overflow: visible; }
.home-section { margin-bottom: 24px; }
.home-section--card { border: 1px solid #eee8dc; border-radius: 8px; padding: 24px; }
.home-product-grid, .home-product-grid.is-carousel, .product-categories-grid, .sale-products-grid, .search-results-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; overflow: visible; }
.home-product-grid.is-carousel .product-card { width: auto; min-width: 0; flex: none; }
.product-card { min-width: 0; border: 1px solid #eee8dc; border-radius: 8px; background: white; transition: box-shadow .15s; }
.product-card:hover { box-shadow: 0 5px 20px #5a36161a; }
.category-carousel { flex-wrap: wrap; overflow: visible; gap: 20px; }
.home-body-banner { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.product-details-content { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; }
.product-details-content > :first-child { grid-column: 1; grid-row: span 3; }
.product-details-content > .product-description, .product-details-content > .combo-products-carousel, .product-details-content > .suggest-products-carousel { grid-column: 1 / -1; }
.product-image-carousel { max-width: 100%; }
.product-image-carousel img { object-fit: contain; }
.purchase-action-bar { position: sticky; left: auto; transform: none; bottom: 0; max-width: none; height: 72px; border: 1px solid #e5dfd2; border-radius: 8px; margin-top: 24px; }
.cart-page { display: grid; grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr); gap: 24px; align-items: start; }
.cart-bottom-stack { position: sticky; top: 24px; left: auto; bottom: auto; transform: none; width: 100%; max-width: none; border: 1px solid #e5dfd2; border-radius: 8px; }
.cart-action-bar { flex-wrap: wrap; gap: 12px; }
.checkout-scroll-area { display: grid; grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr); gap: 20px; align-items: start; }
.checkout-products, .checkout-address, .checkout-note { grid-column: 1; }
.checkout-breakdown { grid-column: 2; grid-row: 1 / span 3; padding: 24px; background: white; border: 1px solid #e5dfd2; border-radius: 8px; }
.checkout-bottom-stack { position: static; border-radius: 8px; margin-top: 20px; }
.account-shell, .addresses-shell, .address-edit-shell, .checkout-success-shell, .vouchers-shell { padding: 24px; background: white; border: 1px solid #eee8dc; border-radius: 8px; }
.account-logout-bar, .address-edit-bottom { position: static; left: auto; transform: none; max-width: none; }
.desktop-footer { background: #eee5d3; color: var(--desktop-ink); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; padding: 40px max(24px, calc((100% - 1200px)/2)); }
.desktop-footer h2 { font-size: 16px; margin-top: 0; }
.desktop-footer a { display: block; margin: 10px 0; text-decoration: none; }
@media (max-width: 900px) {
 .desktop-header { flex-wrap: wrap; gap: 16px; }
 .desktop-search { order: 4; flex-basis: 100%; }
 .home-product-grid, .home-product-grid.is-carousel, .product-categories-grid, .sale-products-grid, .search-results-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
 .desktop-footer { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
 .desktop-logo { width: 140px; }
 .desktop-topline a { float: none; display: block; }
 .desktop-nav { gap: 16px; font-size: 13px; }
 .home-product-grid, .home-product-grid.is-carousel, .product-categories-grid, .sale-products-grid, .search-results-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
 .cart-page, .checkout-scroll-area, .product-details-content, .home-body-banner { display: block; }
 .product-details-content > *, .checkout-scroll-area > * { margin-bottom: 16px; }
 .cart-bottom-stack { position: static; }
 .desktop-footer { gap: 24px; padding: 24px 16px; }
}
.address-edit-save-wrapper { position: static; margin-top: 20px; }
