/* CityPaws product and cart surfaces. Kept isolated from every other storefront page. */
@layer pdp-cart {
  body[data-page="product"] {
    --pdp-ink: #173b2b;
    --pdp-muted: #77786e;
    --pdp-line: #e9e3d7;
    --pdp-paper: #fffdf8;
    --pdp-warm: #f8f4eb;
    --pdp-green: #14563c;
    --pdp-gold: #b18a3e;
    --pdp-amber: #c28b2c;
    color: var(--pdp-ink) !important;
    background: var(--pdp-paper) !important;
  }

  body[data-page="product"] .page {
    width: min(100% - 32px, 1200px) !important;
    margin-inline: auto !important;
  }

  body[data-page="product"] .crumb {
    padding-block: 14px 18px !important;
    color: #8a8476 !important;
    font-size: 12px !important;
  }

  body[data-page="product"] .detail {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr) !important;
    align-items: start !important;
    gap: clamp(26px, 5vw, 68px) !important;
    direction: inherit !important;
  }

  body[data-page="product"] .gallery {
    display: grid !important;
    align-content: start !important;
    justify-items: stretch !important;
    gap: 12px !important;
    min-width: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    border-radius: 0 !important;
    background: transparent !important;
  }

  body[data-page="product"] .pdp-gallery-stage {
    position: relative !important;
    display: grid !important;
    place-items: center !important;
    min-height: clamp(350px, 43vw, 520px) !important;
    padding: 24px !important;
    overflow: hidden !important;
    border: 1px solid #f0ece3 !important;
    border-radius: 18px !important;
    background: #fff !important;
  }

  body[data-page="product"] .gallery .zoom-image {
    display: grid !important;
    place-items: center !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 300px !important;
    overflow: hidden !important;
    background: #fff !important;
  }

  body[data-page="product"] .gallery .zoom-image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-height: 470px !important;
    object-fit: contain !important;
    object-position: center !important;
    mix-blend-mode: multiply;
  }

  body[data-page="product"] .pdp-gallery-nav {
    position: absolute !important;
    z-index: 2 !important;
    top: 50% !important;
    display: grid !important;
    place-items: center !important;
    width: 42px !important;
    height: 42px !important;
    padding: 0 !important;
    border: 1px solid #e9e6df !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: var(--pdp-green) !important;
    box-shadow: 0 3px 12px rgb(28 52 37 / 10%) !important;
    transform: translateY(-50%) !important;
    cursor: pointer !important;
  }

  body[data-page="product"] .pdp-gallery-nav:hover {
    border-color: #c9b277 !important;
    background: #fffaf0 !important;
  }

  body[data-page="product"] .pdp-gallery-nav:where(:first-of-type, [data-gallery-prev], .prev) {
    left: 14px !important;
  }

  body[data-page="product"] .pdp-gallery-nav:where(:nth-of-type(2), [data-gallery-next], .next) {
    right: 14px !important;
  }

  body[data-page="product"] .pdp-gallery-favorite {
    position: absolute !important;
    z-index: 3 !important;
    top: 14px !important;
    right: 14px !important;
    display: grid !important;
    place-items: center !important;
    width: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    border: 1px solid #eee8dc !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: #c7353c !important;
    box-shadow: 0 3px 12px rgb(28 52 37 / 8%) !important;
    cursor: pointer !important;
  }

  body[data-page="product"] .pdp-gallery-favorite[aria-pressed="true"],
  body[data-page="product"] .pdp-gallery-favorite.active {
    color: #a13d3d !important;
  }

  body[data-page="product"] .pdp-gallery-favorite[aria-pressed="true"] svg {
    fill: currentColor;
  }

  body[data-page="product"] .gallery-thumbnails {
    display: flex !important;
    gap: 9px !important;
    max-width: 100% !important;
    padding: 2px 1px 5px !important;
    overflow-x: auto !important;
    scrollbar-width: thin;
  }

  body[data-page="product"] .gallery-thumbnails button {
    flex: 0 0 66px !important;
    width: 66px !important;
    height: 66px !important;
    padding: 4px !important;
    border: 1px solid var(--pdp-line) !important;
    border-radius: 9px !important;
    background: #fff !important;
    cursor: pointer !important;
  }

  body[data-page="product"] .gallery-thumbnails button:is(.active, [aria-current="true"]) {
    border-color: var(--pdp-gold) !important;
    box-shadow: inset 0 0 0 1px var(--pdp-gold) !important;
  }

  body[data-page="product"] .gallery-thumbnails img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }

  body[data-page="product"] .detail-info {
    min-width: 0 !important;
    padding-block: 4px 0 !important;
    color: var(--pdp-ink) !important;
    direction: inherit !important;
  }

  body[data-page="product"] .detail-info h1 {
    margin: 5px 0 7px !important;
    color: #173b2b !important;
    font-size: clamp(25px, 2.5vw, 34px) !important;
    font-weight: 800 !important;
    line-height: 1.22 !important;
    letter-spacing: -.025em !important;
    text-align: start !important;
  }

  body[data-page="product"] .pdp-subtitle,
  body[data-page="product"] .detail-category {
    margin: 0 0 8px !important;
    color: var(--pdp-muted) !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
  }

  body[data-page="product"] .detail-info .product-brand-link {
    color: #8d6b32 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-decoration-color: #d8c391 !important;
    text-underline-offset: 3px;
  }

  body[data-page="product"] .pdp-rating {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 8px 0 14px !important;
    color: #a77c2e !important;
    font-size: 13px !important;
  }

  body[data-page="product"] .pdp-rating :is(small, span) {
    color: #77786e !important;
  }

  body[data-page="product"] .detail-info .price {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: baseline !important;
    gap: 9px !important;
    margin: 15px 0 13px !important;
    color: #b23e36 !important;
    font-size: clamp(27px, 3vw, 36px) !important;
    font-weight: 850 !important;
    line-height: 1.1 !important;
    text-align: start !important;
  }

  body[data-page="product"] .detail-info .price del {
    color: #99958c !important;
    font-size: 15px !important;
    font-weight: 500 !important;
  }

  body[data-page="product"] .detail-discount {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 23px !important;
    padding: 3px 7px !important;
    border-radius: 5px !important;
    background: #f6e9df !important;
    color: #a94739 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
  }

  body[data-page="product"] .sizes {
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    margin: 18px 0 !important;
  }

  body[data-page="product"] .sizes [data-size] {
    min-height: 39px !important;
    padding: 8px 15px !important;
    border: 1px solid #e4dfd4 !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #4e594e !important;
    font-size: 13px !important;
    font-weight: 650 !important;
    cursor: pointer !important;
  }

  body[data-page="product"] .sizes [data-size].active,
  body[data-page="product"] .sizes [data-size][aria-pressed="true"] {
    border-color: var(--pdp-green) !important;
    background: var(--pdp-green) !important;
    color: #fff !important;
  }

  body[data-page="product"] .purchase {
    display: flex !important;
    align-items: stretch !important;
    gap: 10px !important;
    margin: 16px 0 19px !important;
  }

  body[data-page="product"] .purchase .qty {
    flex: 0 0 auto !important;
    min-height: 46px !important;
    border: 1px solid #ded9cd !important;
    border-radius: 8px !important;
    background: #fff !important;
  }

  body[data-page="product"] .purchase .qty button {
    min-width: 38px !important;
    min-height: 44px !important;
    padding: 7px !important;
    color: var(--pdp-green) !important;
  }

  body[data-page="product"] .purchase .qty span {
    min-width: 28px !important;
    padding-inline: 4px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-align: center !important;
  }

  body[data-page="product"] .detail-info .purchase > .btn.gold {
    display: inline-flex !important;
    flex: 1 1 auto !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 46px !important;
    padding: 10px 16px !important;
    border: 1px solid #b9892e !important;
    border-radius: 8px !important;
    background: #bd8b2d !important;
    color: #fff !important;
    box-shadow: 0 4px 10px rgb(154 111 30 / 15%) !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    transition: background-color .18s ease, transform .18s ease !important;
  }

  body[data-page="product"] .detail-info .purchase > .btn.gold:hover:not(:disabled) {
    background: #a97820 !important;
    transform: translateY(-1px);
  }

  body[data-page="product"] .pdp-trust-strip {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin: 20px 0 26px !important;
    padding: 14px 8px !important;
    border-block: 1px solid #eee8dc !important;
  }

  body[data-page="product"] .pdp-trust-item {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    min-width: 0 !important;
    color: #42614c !important;
    font-size: 11px !important;
    font-weight: 650 !important;
    line-height: 1.35 !important;
    text-align: center !important;
  }

  body[data-page="product"] .pdp-trust-item svg {
    flex: 0 0 21px !important;
    width: 21px !important;
    height: 21px !important;
    color: var(--pdp-green) !important;
  }

  body[data-page="product"] .detail-info > p {
    color: #65685f !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
  }

  body[data-page="product"] .pdp-accordions {
    margin-top: 22px !important;
    border-top: 1px solid var(--pdp-line) !important;
  }

  body[data-page="product"] .pdp-accordions details,
  body[data-page="product"] .detail-info details {
    margin: 0 !important;
    padding: 15px 0 !important;
    border-top: 0 !important;
    border-bottom: 1px solid var(--pdp-line) !important;
    background: transparent !important;
  }

  body[data-page="product"] .pdp-accordions summary,
  body[data-page="product"] .detail-info details > summary {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    min-height: 25px !important;
    color: #244632 !important;
    font-size: 15px !important;
    font-weight: 750 !important;
    list-style: none !important;
    cursor: pointer !important;
  }

  body[data-page="product"] .pdp-accordions summary::-webkit-details-marker,
  body[data-page="product"] .detail-info details > summary::-webkit-details-marker {
    display: none !important;
  }

  body[data-page="product"] .pdp-accordions summary::after,
  body[data-page="product"] .detail-info details > summary::after {
    content: "+" !important;
    color: #a37a32 !important;
    font-size: 20px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
  }

  body[data-page="product"] .pdp-accordions details[open] > summary::after,
  body[data-page="product"] .detail-info details[open] > summary::after {
    content: "−" !important;
  }

  body[data-page="product"] .pdp-accordions details > :not(summary),
  body[data-page="product"] .detail-info details > p {
    color: #666b63 !important;
    font-size: 13px !important;
    line-height: 1.75 !important;
  }

  body[data-page="product"] .pdp-benefit-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
    margin-top: 12px !important;
  }

  body[data-page="product"] .pdp-benefit-grid > * {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    min-height: 54px !important;
    padding: 8px 10px !important;
    border: 1px solid #eadfc3 !important;
    border-radius: 9px !important;
    background: #fbf7ec !important;
    color: #5d512f !important;
    font-size: 12px !important;
    font-weight: 650 !important;
  }

  body[data-page="product"] .pdp-benefit-icon {
    display: grid !important;
    flex: 0 0 31px !important;
    place-items: center !important;
    width: 31px !important;
    height: 31px !important;
    border-radius: 50% !important;
    background: #f1e5c7 !important;
    color: #96702d !important;
  }

  body[data-page="product"] .pdp-data-table,
  body[data-page="product"] .components-section table {
    width: 100% !important;
    margin: 11px 0 2px !important;
    border-collapse: collapse !important;
    border: 1px solid #ebe5d9 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    color: #535b53 !important;
    font-size: 12px !important;
  }

  body[data-page="product"] .pdp-data-table :is(th, td),
  body[data-page="product"] .components-section table :is(th, td) {
    padding: 9px 11px !important;
    border-bottom: 1px solid #eee9df !important;
    text-align: start !important;
  }

  body[data-page="product"] .pdp-data-table th,
  body[data-page="product"] .components-section table th {
    background: #f7f3e9 !important;
    color: #435b48 !important;
    font-weight: 750 !important;
  }

  body[data-page="product"] .pdp-data-table tr:last-child > *,
  body[data-page="product"] .components-section table tr:last-child > * {
    border-bottom: 0 !important;
  }

  body[data-page="product"] .related-products {
    margin-top: clamp(35px, 5vw, 62px) !important;
    padding-bottom: 24px !important;
  }

  body[data-page="product"] .related-products > .title {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    margin-bottom: 14px !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid #d8c596 !important;
  }

  body[data-page="product"] .related-products > .title h2 {
    margin: 0 !important;
    color: #173b2b !important;
    font-size: 20px !important;
    font-weight: 800 !important;
  }

  body[data-page="product"] .related-products [data-related-scroll] {
    display: inline-grid !important;
    place-items: center !important;
    width: 34px !important;
    height: 34px !important;
    padding: 0 !important;
    border: 1px solid #e5ddca !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: var(--pdp-green) !important;
    cursor: pointer !important;
  }

  body[data-page="product"] .related-products .products {
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: row !important;
    direction: inherit !important;
    min-width: 0 !important;
    width: 100% !important;
    gap: 12px !important;
    padding: 6px 1px 16px !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    scroll-padding-inline: 1px !important;
    scrollbar-width: thin;
  }

  body[data-page="product"] .related-products .products > .product {
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
    width: clamp(170px, 18vw, 200px) !important;
    min-width: 170px !important;
    max-width: 200px !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 11px !important;
    border: 1px solid #e9e3d7 !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 3px 12px rgb(31 56 39 / 5%) !important;
    scroll-snap-align: start !important;
  }

  body[data-page="product"] .related-products .products > .product img {
    width: 100% !important;
    height: 120px !important;
    object-fit: contain !important;
  }

  body[data-page="product"] .related-products .products > .product h3 {
    min-height: 2.6em !important;
    margin: 7px 0 5px !important;
    color: #294634 !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
  }

  body[data-page="product"] .related-products .products > .product .price {
    margin: 4px 0 8px !important;
    color: #b23e36 !important;
    font-size: 16px !important;
    font-weight: 800 !important;
  }

  body[data-page="product"] .related-products .products > .product > .btn {
    min-height: 36px !important;
    margin-top: auto !important;
    border-radius: 7px !important;
    background: #bd8b2d !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 750 !important;
  }

  body[data-page="product"] :is(button, a, summary):focus-visible {
    outline: 3px solid #c39b4b !important;
    outline-offset: 3px !important;
  }

  body[data-page="cart"] {
    --cart-ink: #173b2b;
    --cart-green: #14563c;
    --cart-line: #e8e1d4;
    --cart-paper: #fffdf8;
    color: var(--cart-ink) !important;
    background: #fbf8f1 !important;
  }

  body[data-page="cart"] .cart-layout {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 360px) !important;
    align-items: start !important;
    gap: clamp(16px, 2.5vw, 30px) !important;
  }

  body[data-page="cart"] .cart-layout > div {
    min-width: 0 !important;
  }

  body[data-page="cart"] .cart-item {
    box-sizing: border-box !important;
    min-width: 0 !important;
    min-height: 112px !important;
    gap: 14px !important;
    padding: 12px 14px !important;
    border: 1px solid var(--cart-line) !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 3px 12px rgb(29 52 37 / 5%) !important;
  }

  body[data-page="cart"] .cart-item > a {
    flex: 0 0 80px !important;
    width: 80px !important;
    height: 80px !important;
  }

  body[data-page="cart"] .cart-item img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }

  body[data-page="cart"] .cart-item .info {
    min-width: 0 !important;
  }

  body[data-page="cart"] .cart-item h3 {
    margin: 0 0 3px !important;
    color: #244632 !important;
    font-size: 15px !important;
    font-weight: 750 !important;
    line-height: 1.35 !important;
  }

  body[data-page="cart"] .cart-item .cart-weight {
    color: #858071 !important;
    font-size: 12px !important;
  }

  body[data-page="cart"] .cart-item .price {
    margin: 4px 0 6px !important;
    color: #b23e36 !important;
    font-size: 16px !important;
    font-weight: 800 !important;
  }

  body[data-page="cart"] .cart-item .qty {
    min-height: 31px !important;
    border: 1px solid #e1dccf !important;
    border-radius: 7px !important;
    background: #fff !important;
  }

  body[data-page="cart"] .cart-item .qty button {
    min-width: 31px !important;
    min-height: 29px !important;
    padding: 4px 7px !important;
    color: var(--cart-green) !important;
  }

  body[data-page="cart"] .cart-item .qty span {
    min-width: 28px !important;
    padding-inline: 4px !important;
    text-align: center !important;
  }

  body[data-page="cart"] .cart-item .remove {
    display: grid !important;
    flex: 0 0 34px !important;
    place-items: center !important;
    width: 34px !important;
    height: 34px !important;
    border-radius: 8px !important;
    color: #7b7a70 !important;
    cursor: pointer !important;
  }

  body[data-page="cart"] .cart-item .remove:hover {
    background: #f7eee5 !important;
    color: #a04439 !important;
  }

  body[data-page="cart"] .summary-box {
    position: sticky !important;
    top: 16px !important;
    height: fit-content !important;
    padding: 22px !important;
    border: 1px solid var(--cart-line) !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 8px 24px rgb(29 52 37 / 7%) !important;
  }

  body[data-page="cart"] .summary-box h2 {
    margin: 0 0 16px !important;
    color: #244632 !important;
    font-size: 19px !important;
    font-weight: 800 !important;
  }

  body[data-page="cart"] .summary-box p {
    gap: 14px !important;
    margin: 10px 0 !important;
    color: #686d65 !important;
    font-size: 14px !important;
  }

  body[data-page="cart"] .summary-box p strong,
  body[data-page="cart"] .summary-box p b {
    color: #244632 !important;
  }

  body[data-page="cart"] .summary-box input,
  body[data-page="cart"] .pdp-cart-coupon input {
    box-sizing: border-box !important;
    min-width: 0 !important;
    min-height: 42px !important;
    padding: 9px 11px !important;
    border: 1px solid #ded9cd !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #243c2d !important;
  }

  body[data-page="cart"] .summary-box .btn,
  body[data-page="cart"] .pdp-cart-coupon button,
  body[data-page="cart"] .pdp-cart-coupon .btn {
    min-height: 44px !important;
    border: 1px solid var(--cart-green) !important;
    border-radius: 8px !important;
    background: var(--cart-green) !important;
    color: #fff !important;
    font-weight: 750 !important;
  }

  body[data-page="cart"] .summary-box .btn[href="#checkout"] {
    margin-top: 15px !important;
  }

  body[data-page="cart"] [data-cart-enhancements] {
    margin-top: 15px !important;
  }

  body[data-page="cart"] .pdp-cart-coupon {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 8px !important;
    margin-top: 16px !important;
  }

  body[data-page="cart"] .pdp-cart-coupon input {
    width: 100% !important;
  }

  body[data-page="cart"] .pdp-cart-coupon button {
    padding-inline: 14px !important;
    white-space: nowrap !important;
  }

  body[data-page="cart"] .pdp-cart-summary {
    margin-top: 18px !important;
    padding-top: 13px !important;
    border-top: 1px solid var(--cart-line) !important;
  }

  body[data-page="cart"] .pdp-cart-summary > * {
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin: 9px 0 !important;
    color: #666e64 !important;
    font-size: 13px !important;
  }

  body[data-page="cart"] .pdp-cart-summary > :last-child {
    margin-top: 13px !important;
    color: #173b2b !important;
    font-size: 17px !important;
    font-weight: 800 !important;
  }

  .cp-cart-dialog {
    box-sizing: border-box !important;
    width: min(100% - 28px, 480px) !important;
    max-width: 480px !important;
    max-height: min(88dvh, 760px) !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid #e5dfd1 !important;
    border-radius: 18px !important;
    background: #fffdf8 !important;
    color: #173b2b !important;
    box-shadow: 0 24px 80px rgb(16 39 27 / 24%) !important;
  }

  .cp-cart-dialog::backdrop {
    background: rgb(17 36 26 / 42%) !important;
    backdrop-filter: blur(2px);
  }

  .cp-cart-dialog .cp-cart-panel {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-height: min(88dvh, 760px) !important;
    background: #fffdf8 !important;
  }

  .cp-cart-dialog .cp-cart-header {
    display: flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    min-height: 60px !important;
    padding: 11px 18px !important;
    border-bottom: 1px solid #ebe5d9 !important;
    background: #fff !important;
  }

  .cp-cart-dialog .cp-cart-header h2 {
    margin: 0 !important;
    color: #173b2b !important;
    font-size: 18px !important;
    font-weight: 800 !important;
  }

  .cp-cart-dialog [data-cart-close] {
    display: grid !important;
    flex: 0 0 36px !important;
    place-items: center !important;
    width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
    border: 1px solid #e5dfd3 !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: #355541 !important;
    font-size: 22px !important;
    cursor: pointer !important;
  }

  .cp-cart-dialog .cp-cart-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    padding: 14px 16px !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch;
  }

  .cp-cart-dialog .cart-item {
    min-width: 0 !important;
    min-height: 80px !important;
    gap: 10px !important;
    margin: 0 0 9px !important;
    padding: 9px !important;
    border: 1px solid #e9e3d7 !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  .cp-cart-dialog .cart-item > a,
  .cp-cart-dialog .cart-item img {
    flex: 0 0 58px !important;
    width: 58px !important;
    height: 58px !important;
  }

  .cp-cart-dialog .cart-item .info {
    min-width: 0 !important;
  }

  .cp-cart-dialog .cart-item h3 {
    margin: 0 0 3px !important;
    color: #244632 !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
  }

  .cp-cart-dialog .cart-item .price {
    margin: 3px 0 !important;
    color: #ad4138 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
  }

  .cp-cart-dialog .cart-item .qty {
    min-height: 28px !important;
    border: 1px solid #e2ddcf !important;
    border-radius: 7px !important;
  }

  .cp-cart-dialog .cart-item .qty button {
    min-width: 28px !important;
    min-height: 26px !important;
    padding: 3px 6px !important;
  }

  .cp-cart-dialog .cart-item .qty span {
    min-width: 25px !important;
    padding-inline: 3px !important;
    text-align: center !important;
  }

  .cp-cart-dialog .cart-item .remove {
    display: grid !important;
    flex: 0 0 30px !important;
    place-items: center !important;
    width: 30px !important;
    height: 30px !important;
    border-radius: 7px !important;
    color: #77786e !important;
  }

  .cp-cart-dialog .cp-cart-footer {
    flex: 0 0 auto !important;
    padding: 13px 17px max(14px, env(safe-area-inset-bottom)) !important;
    border-top: 1px solid #ebe5d9 !important;
    background: #fff !important;
  }

  .cp-cart-dialog .cp-cart-footer > p {
    display: flex !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin: 0 0 10px !important;
    color: #173b2b !important;
  }

  .cp-cart-dialog .cp-cart-footer hr {
    height: 1px !important;
    margin: 0 0 12px !important;
    border: 0 !important;
    background: #ebe5d9 !important;
  }

  .cp-cart-dialog .cp-cart-footer a.btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 45px !important;
    border: 1px solid #14563c !important;
    border-radius: 8px !important;
    background: #14563c !important;
    color: #fff !important;
    font-weight: 750 !important;
    text-decoration: none !important;
  }

  .cp-cart-dialog .cp-cart-footer > a:not(.btn) {
    display: block !important;
    margin-top: 10px !important;
    color: #42614c !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-align: center !important;
  }

  .cp-cart-dialog .cp-cart-progress {
    margin: 4px 0 14px !important;
    color: #4f6553 !important;
    font-size: 12px !important;
  }

  .cp-cart-dialog .cp-cart-progress-track {
    height: 6px !important;
    overflow: hidden !important;
    border-radius: 99px !important;
    background: #e8e5da !important;
  }

  .cp-cart-dialog .cp-cart-progress-fill {
    display: block !important;
    height: 100% !important;
    border-radius: inherit !important;
    background: #b18a3e !important;
  }

  .cp-cart-dialog .cp-cart-recommendations h3 {
    margin: 12px 0 8px !important;
    color: #244632 !important;
    font-size: 14px !important;
  }

  .cp-cart-dialog .cp-cross-sell-card {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 7px 0 !important;
    padding: 8px !important;
    border: 1px solid #eee8dc !important;
    border-radius: 9px !important;
    background: #fff !important;
  }

  .cp-cart-dialog .cp-cross-sell-card > a {
    display: flex !important;
    flex: 1 1 auto !important;
    align-items: center !important;
    min-width: 0 !important;
    gap: 8px !important;
    color: #244632 !important;
    font-size: 12px !important;
    text-decoration: none !important;
  }

  .cp-cart-dialog .cp-cross-sell-card img {
    flex: 0 0 48px !important;
    width: 48px !important;
    height: 48px !important;
    object-fit: contain !important;
  }

  .cp-cart-dialog .cp-cross-sell-card small {
    display: block !important;
    margin-top: 3px !important;
    color: #77786e !important;
  }

  .cp-cart-dialog .cp-cross-sell-card > button {
    flex: 0 0 auto !important;
    min-height: 34px !important;
    padding: 6px 9px !important;
    border-radius: 7px !important;
    background: #14563c !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 700 !important;
  }

  .cp-cart-dialog :is(button, a):focus-visible {
    outline: 3px solid #c39b4b !important;
    outline-offset: 2px !important;
  }

  @media (min-width: 768px) and (max-width: 1023px) {
    body[data-page="product"] .detail {
      grid-template-columns: minmax(0, 1fr) minmax(0, .95fr) !important;
      gap: 24px !important;
    }

    body[data-page="product"] .pdp-gallery-stage {
      min-height: 390px !important;
      padding: 18px !important;
    }

    body[data-page="product"] .gallery .zoom-image img {
      max-height: 360px !important;
    }

    body[data-page="cart"] .cart-layout {
      grid-template-columns: minmax(0, 1fr) minmax(260px, 310px) !important;
    }
  }

  @media (max-width: 767px) {
    body[data-page="product"] .page {
      width: 100% !important;
      padding-inline: 14px !important;
    }

    body[data-page="product"] .crumb {
      padding-block: 10px 12px !important;
      font-size: 11px !important;
    }

    body[data-page="product"] .detail {
      display: flex !important;
      flex-direction: column !important;
      gap: 16px !important;
    }

    body[data-page="product"] .gallery,
    body[data-page="product"] .detail-info {
      width: 100% !important;
    }

    body[data-page="product"] .pdp-gallery-stage {
      min-height: clamp(275px, 86vw, 390px) !important;
      padding: 13px !important;
      border-radius: 13px !important;
    }

    body[data-page="product"] .gallery .zoom-image {
      min-height: 245px !important;
    }

    body[data-page="product"] .gallery .zoom-image img {
      max-height: clamp(245px, 78vw, 360px) !important;
    }

    body[data-page="product"] .pdp-gallery-nav {
      width: 36px !important;
      height: 36px !important;
    }

    body[data-page="product"] .pdp-gallery-nav:where(:first-of-type, [data-gallery-prev], .prev) {
      left: 8px !important;
    }

    body[data-page="product"] .pdp-gallery-nav:where(:nth-of-type(2), [data-gallery-next], .next) {
      right: 8px !important;
    }

    body[data-page="product"] .pdp-gallery-favorite {
      top: 10px !important;
      right: 10px !important;
      width: 36px !important;
      height: 36px !important;
    }

    body[data-page="product"] .gallery-thumbnails {
      gap: 7px !important;
    }

    body[data-page="product"] .gallery-thumbnails button {
      flex-basis: 58px !important;
      width: 58px !important;
      height: 58px !important;
    }

    body[data-page="product"] .detail-info h1 {
      margin-top: 1px !important;
      font-size: 23px !important;
    }

    body[data-page="product"] .detail-info .price {
      margin: 12px 0 !important;
      font-size: 29px !important;
    }

    body[data-page="product"] .sizes {
      gap: 6px !important;
      margin: 14px 0 !important;
    }

    body[data-page="product"] .sizes [data-size] {
      min-height: 37px !important;
      padding: 7px 12px !important;
    }

    body[data-page="product"] .purchase {
      gap: 8px !important;
      margin: 13px 0 16px !important;
    }

    body[data-page="product"] .purchase .qty {
      min-height: 44px !important;
    }

    body[data-page="product"] .purchase .qty button {
      min-width: 34px !important;
      min-height: 42px !important;
      padding: 6px !important;
    }

    body[data-page="product"] .detail-info .purchase > .btn.gold {
      min-height: 44px !important;
      padding-inline: 10px !important;
      font-size: 14px !important;
    }

    body[data-page="product"] .pdp-trust-strip {
      gap: 4px !important;
      margin: 16px 0 20px !important;
      padding: 11px 2px !important;
    }

    body[data-page="product"] .pdp-trust-item {
      flex-direction: column !important;
      gap: 4px !important;
      font-size: 10px !important;
    }

    body[data-page="product"] .pdp-benefit-grid {
      gap: 7px !important;
    }

    body[data-page="product"] .pdp-benefit-grid > * {
      min-height: 48px !important;
      padding: 7px !important;
      font-size: 11px !important;
    }

    body[data-page="product"] .related-products {
      margin-top: 34px !important;
    }

    body[data-page="product"] .related-products .products {
      gap: 9px !important;
    }

    body[data-page="product"] .related-products .products > .product {
      padding: 8px !important;
    }

    body[data-page="product"] .related-products .products > .product img {
      height: 100px !important;
    }

    body[data-page="cart"] .cart-layout {
      display: grid !important;
      grid-template-columns: minmax(0, 1fr) !important;
      gap: 14px !important;
    }

    body[data-page="cart"] .cart-item {
      min-height: 94px !important;
      gap: 9px !important;
      padding: 9px !important;
    }

    body[data-page="cart"] .cart-item > a {
      flex-basis: 76px !important;
      width: 76px !important;
      height: 76px !important;
    }

    body[data-page="cart"] .cart-item h3 {
      font-size: 13px !important;
    }

    body[data-page="cart"] .cart-item .price {
      font-size: 14px !important;
    }

    body[data-page="cart"] .cart-item .remove {
      flex-basis: 30px !important;
      width: 30px !important;
      height: 30px !important;
    }

    body[data-page="cart"] .summary-box {
      position: static !important;
      margin-top: 0 !important;
      padding: 17px !important;
    }

    .cp-cart-dialog {
      width: min(100% - 18px, 480px) !important;
      max-height: min(88dvh, 740px) !important;
      margin: auto 9px 9px !important;
      border-radius: 16px !important;
    }

    .cp-cart-dialog .cp-cart-panel {
      max-height: min(88dvh, 740px) !important;
    }

    .cp-cart-dialog .cp-cart-body {
      padding: 11px !important;
    }
  }

  @media (max-width: 359px) {
    body[data-page="product"] .page {
      padding-inline: 10px !important;
    }

    body[data-page="product"] .pdp-gallery-stage {
      min-height: 260px !important;
      padding: 9px !important;
    }

    body[data-page="product"] .purchase {
      gap: 6px !important;
    }

    body[data-page="product"] .purchase .qty button {
      min-width: 30px !important;
    }

    body[data-page="product"] .detail-info .purchase > .btn.gold {
      padding-inline: 7px !important;
      font-size: 13px !important;
    }

    body[data-page="cart"] .cart-item {
      gap: 7px !important;
      padding: 8px !important;
    }

    body[data-page="cart"] .cart-item > a {
      flex-basis: 72px !important;
      width: 72px !important;
      height: 72px !important;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    body[data-page="product"] .detail-info .purchase > .btn.gold {
      transition: none !important;
    }
  }

  :is(body[data-page="cart"], .cp-cart-dialog) .pdp-cart-coupon {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 14px 0 !important;
    padding: 16px !important;
    border: 1px solid #e9e3d7 !important;
    border-radius: 12px !important;
    background: #fff !important;
  }

  :is(body[data-page="cart"], .cp-cart-dialog) .pdp-cart-coupon label {
    display: grid !important;
    gap: 8px !important;
    min-width: 0 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
  }

  :is(body[data-page="cart"], .cp-cart-dialog) .pdp-cart-coupon label > span {
    display: flex !important;
    align-items: stretch !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  :is(body[data-page="cart"], .cp-cart-dialog) .pdp-cart-coupon input {
    flex: 1 1 0 !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 44px !important;
    font: inherit !important;
    font-size: 13px !important;
  }

  :is(body[data-page="cart"], .cp-cart-dialog) .pdp-cart-coupon button {
    flex: 0 0 62px !important;
    min-width: 62px !important;
    margin: 0 !important;
    padding: 8px !important;
  }

  :is(body[data-page="cart"], .cp-cart-dialog) .pdp-cart-coupon small,
  :is(body[data-page="cart"], .cp-cart-dialog) .pdp-cart-coupon [data-coupon-feedback],
  :is(body[data-page="cart"], .cp-cart-dialog) .pdp-checkout-note {
    display: block !important;
    margin: 4px 0 !important;
    font-size: 12px !important;
    line-height: 1.6 !important;
    font-weight: 400 !important;
    color: #626d64 !important;
  }

  :is(body[data-page="cart"], .cp-cart-dialog) [data-cart-delivery].is-free-shipping {
    color: #156047 !important;
    font-weight: 700 !important;
  }

  /* Match the UI language, including English product names inside an RTL PDP. */
  html:is([lang="he"], [lang="ar"], [dir="rtl"]) body[data-page="product"],
  html:is([lang="he"], [lang="ar"], [dir="rtl"]) body[data-page="product"]
    :is(.detail, .detail-info, .accordion, .pdp-accordions, .related-products),
  html:is([lang="he"], [lang="ar"], [dir="rtl"]) body[data-page="product"]
    :is(.detail-info, .related-products) :is(h1, h2, h3, p, .price, details, summary, table, th, td) {
    direction: rtl !important;
    text-align: start !important;
  }

  body[data-page="product"] .detail-info details > summary {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    text-align: start !important;
    padding: 14px 0 !important;
  }
}

/* Mobile product-detail resilience: let localized copy grow without escaping
   its column, while retaining the existing gallery and color system. */
@layer pdp-cart {
  @media (max-width: 767px) {
    body[data-page="product"] .detail-info > .crumb {
      display: block !important;
      white-space: normal !important;
      overflow: visible !important;
      overflow-wrap: anywhere !important;
      text-overflow: clip !important;
      height: auto !important;
      line-height: 1.6 !important;
    }

    body[data-page="product"] :is(.page, .detail, .detail-info, .detail-info > *,
      .pdp-description, .pdp-section-body, .detail-description-extra) {
      box-sizing: border-box !important;
      min-width: 0 !important;
      max-width: 100% !important;
    }

    body[data-page="product"] .detail-info :is(h1, p, summary, a, span, li, th, td) {
      overflow-wrap: anywhere !important;
      word-break: normal !important;
    }

    body[data-page="product"] .detail-info > .price {
      max-width: 100% !important;
      flex-wrap: wrap !important;
      align-items: baseline !important;
    }

    body[data-page="product"] .detail .sizes {
      box-sizing: border-box !important;
      width: 100% !important;
      max-width: 100% !important;
      flex-wrap: wrap !important;
    }

    body[data-page="product"] .detail .sizes [data-size] {
      box-sizing: border-box !important;
      max-width: 100% !important;
      white-space: normal !important;
      overflow-wrap: anywhere !important;
    }

    body[data-page="product"] .detail-info .purchase {
      box-sizing: border-box !important;
      width: 100% !important;
      max-width: 100% !important;
      flex-wrap: wrap !important;
      align-items: stretch !important;
    }

    body[data-page="product"] .purchase .qty {
      max-width: 100% !important;
    }

    body[data-page="product"] .detail-info .purchase > .btn.gold {
      box-sizing: border-box !important;
      min-width: min(100%, 9rem) !important;
      max-width: 100% !important;
      white-space: normal !important;
      overflow-wrap: anywhere !important;
    }

    body[data-page="product"] :is(.pdp-section-body, .detail-description-extra) p {
      max-width: 100% !important;
      overflow-wrap: anywhere !important;
      white-space: pre-line !important;
    }
  }
}
