/** Shopify CDN: Minification failed

Line 379:19 Unexpected "*"

**/
/* =============================================================================
   Pressed Objects — custom.css
   Global setup: fonts, custom properties, base overrides
   ============================================================================= */

/* -----------------------------------------------------------------------------
   Leopardo Light Italic — self-hosted
   ----------------------------------------------------------------------------- */
@font-face {
  font-family: 'Leopardo';
  src: url('205TF-Leopardo-LightItalic.woff2') format('woff2');
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

/* -----------------------------------------------------------------------------
   Brand custom properties
   ----------------------------------------------------------------------------- */
:root {
  /* Colors */
  --po-color-bg:      #f9f8f8;
  --po-color-text:    #262626;
  --po-color-accent:  #b29700;
  --po-color-white:   #ffffff;
  --po-border:        1px solid #262626;

  /* Font families */
  --po-font-display:  'Leopardo', serif;
  --po-font-heading:  'Switzer', sans-serif;
  --po-font-body:     'Archivo Narrow', sans-serif;

  /* Font sizes */
  --po-text-nav:      12px;
  --po-text-body:     16px;
  --po-text-cta:      14px;

  /* Tracking */
  --po-tracking-nav:  0.6px;
  --po-tracking-tight: -0.03em;

  /* Spacing */
  --po-page-pad-h:    20px;
  --po-btn-height:    35px;
  --po-btn-width:     107px;
}

/* -----------------------------------------------------------------------------
   Base reset — override Dawn defaults
   ----------------------------------------------------------------------------- */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  font-size: 16px;
  overflow-x: hidden;
}

body,
html,
.shopify-section,
main {
  background-color: #f9f8f8 !important;
}

body {
  background-color: #f9f8f8;
  color: var(--po-color-text);
  font-family: var(--po-font-body);
  font-weight: 400;
  font-size: var(--po-text-body);
  overflow-x: clip;
  font-style: normal;
  line-height: 1.5;
  letter-spacing: normal;
  margin: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* No rounded corners, no shadows — ever */
*,
*::before,
*::after {
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Remove Dawn's default link colors */
a {
  color: var(--po-color-text);
  text-decoration: none;
}

/* Remove Dawn's default button radius and shadow */
.button,
button,
[type='button'],
[type='submit'] {
  border-radius: 0;
  box-shadow: none;
}

/* Primary button style */
.po-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: var(--po-color-text);
  color: var(--po-color-white);
  font-family: var(--po-font-body);
  font-weight: 600;
  font-size: var(--po-text-cta);
  letter-spacing: -0.16px;
  height: var(--po-btn-height);
  min-width: var(--po-btn-width);
  padding: 0 16px;
  border: 1px solid var(--po-color-text);
  cursor: pointer;
  transition: none;
}

.po-btn:hover {
  background-color: transparent;
  color: var(--po-color-text);
}

/* Text link CTA (e.g. "Shop all →") */
.po-link {
  font-family: var(--po-font-body);
  font-weight: 600;
  font-size: var(--po-text-body);
  color: var(--po-color-text);
  text-decoration: none;
  transition: opacity 0.2s ease-out;
}

.po-link:hover {
  opacity: 0.6;
}

/* =============================================================================
   Global design system — override ALL Dawn defaults
   ============================================================================= */

/* --- Typography: PO fonts on Dawn elements only --- */
.h0, .h1, .h2, .h3, .h4, .h5,
.title, .subtitle,
.rte h1, .rte h2, .rte h3, .rte h4 {
  font-family: var(--po-font-heading);
  font-weight: 500;
  color: var(--po-color-text);
  text-transform: uppercase;
  letter-spacing: -0.03em;
  line-height: 0.95;
}

.rte, .rte p, .rte li,
.caption, .caption-large {
  font-family: var(--po-font-body);
  color: var(--po-color-text);
}

/* --- Dawn color scheme overrides --- */
[class*="color-"] {
  --color-foreground: 38, 38, 38 !important;
  --color-background: 249, 248, 248 !important;
  --color-button: 38, 38, 38 !important;
  --color-button-text: 249, 248, 248 !important;
}

.color-background-1,
.color-background-2,
.color-inverse,
[class*="scheme-"] {
  background-color: #f9f8f8 !important;
  color: var(--po-color-text) !important;
}

/* --- Buttons: all Dawn buttons get PO styling --- */
.button,
.shopify-challenge__button,
.customer button,
button.button,
a.button,
.cart__checkout-button,
.shopify-payment-button button,
.shopify-payment-button__button,
input[type="submit"] {
  font-family: var(--po-font-body) !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  letter-spacing: -0.42px !important;
  background-color: #262626 !important;
  color: #f9f8f8 !important;
  border: 1px solid #262626 !important;
  padding: 10px 26px !important;
  height: 40px !important;
  cursor: pointer;
  transition: none;
  text-transform: none !important;
}

.button:hover,
a.button:hover,
input[type="submit"]:hover {
  background-color: transparent !important;
  color: #262626 !important;
}

.button::before,
.button::after,
.shopify-payment-button button::before,
.shopify-payment-button button::after {
  display: none !important;
}

.button--secondary {
  background-color: transparent !important;
  color: #262626 !important;
  border: 1px solid #262626 !important;
}

.button--secondary:hover {
  background-color: #262626 !important;
  color: #f9f8f8 !important;
}

/* --- Form inputs: global styling --- */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="number"],
input[type="search"],
input[type="url"],
textarea,
select,
.field__input {
  font-family: var(--po-font-body) !important;
  font-size: 16px !important;
  color: var(--po-color-text) !important;
  background-color: transparent !important;
  border: 1px solid #262626 !important;
  border-radius: 0 !important;
  padding: 12px 16px !important;
  outline: none;
  transition: border-color 0.2s ease-out;
  -webkit-appearance: none;
}

input:focus,
textarea:focus,
select:focus,
.field__input:focus {
  border-color: #b29700 !important;
  box-shadow: none !important;
}

::placeholder {
  color: var(--po-color-text) !important;
  opacity: 0.35 !important;
}

.field__label {
  font-family: var(--po-font-body);
  font-size: 14px;
  color: var(--po-color-text);
}

/* --- Links --- */
.link, .link--text {
  color: var(--po-color-text);
  font-family: var(--po-font-body);
}

/* --- Dawn component overrides --- */

/* Cards */
.card,
.card-wrapper,
.card--card,
.card--standard {
  background-color: var(--po-color-white) !important;
  border: 1px solid #262626 !important;
}

.card__heading,
.card__heading a {
  font-family: var(--po-font-heading) !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: -0.03em !important;
  color: var(--po-color-text) !important;
}

.card-information__text,
.card__text,
.price {
  font-family: var(--po-font-body) !important;
  color: var(--po-color-text) !important;
}

/* Product page */
.product__title {
  font-family: var(--po-font-heading) !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: -1.08px !important;
  color: var(--po-color-text) !important;
}

.product__description,
.product__description p {
  font-family: var(--po-font-body) !important;
  font-size: 16px !important;
  color: var(--po-color-text) !important;
}

.price-item,
.price__regular,
.price__sale {
  font-family: var(--po-font-body) !important;
  color: var(--po-color-text) !important;
}

/* Cart */
.cart-item__name,
.cart-item__details {
  font-family: var(--po-font-body) !important;
  color: var(--po-color-text) !important;
}

.totals__subtotal-value,
.totals *,
.cart__footer * {
  font-family: var(--po-font-body) !important;
  color: var(--po-color-text) !important;
}

/* Footer */
.footer {
  background-color: #f9f8f8 !important;
  border-top: 1px solid #262626 !important;
}

.footer h2, .footer h3, .footer h4,
.footer__title {
  font-family: var(--po-font-heading) !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  color: var(--po-color-text) !important;
}

.footer a, .footer p, .footer li,
.footer__content-bottom *,
.copyright * {
  font-family: var(--po-font-body) !important;
  color: var(--po-color-text) !important;
}

/* Collection page */
.collection-hero__title {
  font-family: var(--po-font-heading) !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  color: var(--po-color-text) !important;
}

/* Section spacing: kill Dawn's default section padding */
.section-template--* {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Page width: let content breathe but don't constrain */
.page-width {
  max-width: 1512px !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
}

/* Quantity inputs */
.quantity__button {
  background: none !important;
  border: 1px solid #262626 !important;
  color: var(--po-color-text) !important;
  font-family: var(--po-font-body) !important;
}

/* Badges */
.badge {
  font-family: var(--po-font-body) !important;
  font-size: 12px !important;
  border: 1px solid #262626 !important;
  background-color: #f9f8f8 !important;
  color: var(--po-color-text) !important;
}

/* Dawn header overrides (in case anything leaks) */
.header__heading-link {
  font-family: var(--po-font-heading) !important;
  color: var(--po-color-text) !important;
}

/* Announcement bar */
.announcement-bar {
  background-color: #262626 !important;
  color: #f9f8f8 !important;
  font-family: var(--po-font-body) !important;
  border-bottom: none !important;
}

/* =============================================================================
   Nav
   ============================================================================= */

.po-nav-wrapper {
  z-index: 100;
  background-color: #f9f8f8;
}

/* Nav hide/show — scroll-driven on the way out, animated on the way back */
.section-header {
  will-change: transform;
}

.section-header.nav-showing {
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.po-nav {
  display: flex;
  align-items: center;
  height: 48px;
  padding: 0 var(--po-page-pad-h);
  border-bottom: var(--po-border);
  overflow: hidden;
  position: relative;
  background-color: #f9f8f8;
}

.po-nav__left {
  display: flex;
  align-items: center;
  gap: 24px;
  flex: 1;
}

.po-nav__center {
  flex: 0 0 auto;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.po-nav__logo {
  display: block;
  transform: translateY(48px) scale(0.5);
  pointer-events: none;
  will-change: transform;
}

.po-nav-wrapper.logo-visible .po-nav__logo {
  pointer-events: auto;
}

.po-nav__logo-img {
  height: 12px;
  width: auto;
  display: block;
}

/* Hero wordmark scaling on scroll — only the text scales, not the border */
.po-hero__word {
  will-change: transform;
  transform-origin: center top;
}


.po-nav__right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex: 1;
}

.po-nav__link {
  font-family: var(--po-font-body);
  font-weight: 400;
  font-size: var(--po-text-nav);
  letter-spacing: var(--po-tracking-nav);
  color: var(--po-color-text);
  text-decoration: none;
  transition: opacity 0.2s ease-out;
  white-space: nowrap;
}

.po-nav__link:hover {
  opacity: 0.5;
}

/* Hamburger — hidden on desktop */
.po-nav__hamburger {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px 4px;
  flex-direction: column;
  gap: 4px;
  align-items: center;
  justify-content: center;
}

.po-nav__hamburger span {
  display: block;
  width: 18px;
  height: 1px;
  background-color: #262626;
  transition: transform 0.3s ease-out, opacity 0.3s ease-out;
}

/* Drawer — hidden by default */
.po-nav__drawer {
  display: none;
  flex-direction: column;
  gap: 20px;
  padding: 32px 20px 40px;
  background-color: #f9f8f8;
  border-bottom: 1px solid #262626;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 99;
}

.po-nav__drawer-link {
  font-family: var(--po-font-body);
  font-weight: 400;
  font-size: 14px;
  letter-spacing: var(--po-tracking-nav);
  color: var(--po-color-text);
  text-decoration: none;
  transition: opacity 0.2s ease-out;
}

.po-nav__drawer-link:hover {
  opacity: 0.5;
}

/* Mobile nav: hamburger + drawer */
@media screen and (max-width: 799px) {
  .po-nav__left {
    display: none !important;
  }

  .po-nav__hamburger {
    display: flex;
    position: absolute;
    left: 20px;
  }

  .po-nav__logo-img {
    height: 9px;
    max-width: 50vw;
  }

  .po-nav-wrapper.menu-open .po-nav__drawer {
    display: flex;
  }

  /* Animate hamburger to X when open */
  .po-nav-wrapper.menu-open .po-nav__hamburger span:nth-child(1) {
    transform: translateY(5px) rotate(45deg);
  }

  .po-nav-wrapper.menu-open .po-nav__hamburger span:nth-child(2) {
    opacity: 0;
  }

  .po-nav-wrapper.menu-open .po-nav__hamburger span:nth-child(3) {
    transform: translateY(-5px) rotate(-45deg);
  }
}

/* =============================================================================
   Hero
   ============================================================================= */

/* Kill Shopify's section wrapper margin above the hero */
#shopify-section-po-hero {
  margin: 0;
  padding: 0;
}

.po-hero {
  width: 100%;
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
}

/* Wordmark — sits on page background, above the image.
   No clip-path. The ::after pseudo-element provides the background + border
   at true full viewport width. The viewport itself clips the text naturally.
   overflow:visible lets descenders bleed below the border into the image. */
.po-hero__wordmark {
  position: relative;
  z-index: 1;
  text-align: center;
  height: 13.25vw;
  overflow: visible;
  padding: 0;
  margin: 0;
}

/* Background + 1px border stretched to full viewport width */
.po-hero__wordmark::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: -100vw;
  right: -100vw;
  background-color: #f9f8f8;
  border-bottom: 1px solid #262626;
  z-index: -1;
}

.po-hero__word {
  display: block;
  font-family: var(--po-font-display);
  font-weight: 300;
  font-style: italic;
  color: var(--po-color-text);
  font-size: 18vw;
  line-height: 0.97;
  /* em unit keeps kerning proportional at all viewport sizes */
  letter-spacing: -0.066em;
  white-space: nowrap;
  /* All ss features off — isolating the 'd' terminal swash source */
  font-feature-settings: 'dlig' 1, 'calt' 0, 'swsh' 0,
    'ss01' 0, 'ss02' 0, 'ss03' 0, 'ss04' 0, 'ss05' 0, 'ss06' 0, 'ss08' 0;
}

/* Image — full-bleed below the wordmark */
.po-hero__image {
  display: block !important;
  width: 100% !important;
  height: 719px !important;
  min-height: 719px !important;
  background-color: #B29700 !important;
  position: relative;
  overflow: hidden;
  overflow: hidden;
  border-bottom: 1px solid #262626;
}

.po-hero__img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  position: absolute;
  top: 0;
  left: 0;
  object-position: center bottom;
  display: block;
}

/* Small desktop */
@media screen and (min-width: 984px) and (max-width: 1511px) {
  .po-hero__image {
    height: 700px;
  }
}

/* Tablet */
@media screen and (min-width: 800px) and (max-width: 983px) {
  .po-hero__image {
    height: 540px;
  }
}

/* Mobile */
@media screen and (max-width: 799px) {
  .po-hero__wordmark {
    display: none;
  }

  .po-hero__image {
    height: calc(100svh - 48px) !important;
    min-height: 480px !important;
  }
}

/* =============================================================================
   Products
   ============================================================================= */

.po-products {
  width: 100%;
}

.po-products--empty {
  padding: 48px;
}

.po-products__empty-text {
  font-family: var(--po-font-body);
  font-size: var(--po-text-body);
  color: var(--po-color-text);
}

/* --- Product card --- */
.po-product {
  display: flex;
  flex-direction: row;
  align-items: center;
  border-bottom: 1px solid #262626;
  text-decoration: none;
  color: var(--po-color-text);
  position: relative;
}

/* Image — always square */
.po-product__image {
  display: block;
  width: 250px;
  aspect-ratio: 1/1;
  flex-shrink: 0;
  background-color: var(--po-color-white);
  border-right: 1px solid #262626;
  overflow: hidden;
  position: relative;
}

.po-product__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Content: left col (title+desc) and right col (price+cta) */
.po-product__content {
  flex: 1 0 0;
  min-width: 0;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
  gap: 48px;
  padding: 0 48px;
}

.po-product__left {
  flex: 1 0 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.po-product__right {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 32px;
}

.po-product__title-block {
  display: flex;
  align-items: baseline;
  gap: 8px;
  text-transform: uppercase;
  flex-wrap: wrap;
  min-width: 0;
  font-size: 36px;
  line-height: 0.9;
  color: var(--po-color-text);
}

.po-product__title {
  font-family: var(--po-font-heading);
  font-weight: 500;
  font-style: normal;
  letter-spacing: -1.08px;
  margin: 0;
  font-size: inherit;
  line-height: inherit;
}

.po-product__edition {
  font-family: var(--po-font-display);
  font-weight: 300;
  font-style: italic;
  font-size: inherit;
  line-height: inherit;
  flex-shrink: 0;
  color: var(--po-color-text);
  letter-spacing: -3px;
  text-transform: none;
}

.po-product__label {
  font-family: var(--po-font-display);
  font-weight: 300;
  font-style: italic;
  font-size: inherit;
  line-height: inherit;
  flex-shrink: 0;
  letter-spacing: -3px;
  text-transform: none;
  background: linear-gradient(90deg, #5D85A1 0%, #90B6D2 10%, #B29700 50%, #90B6D2 90%, #5D85A1 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.po-product__price {
  font-family: var(--po-font-body);
  font-weight: 400;
  font-size: 36px;
  line-height: 0.9;
  text-align: right;
  letter-spacing: -1.08px;
  flex-shrink: 0;
  white-space: nowrap;
  margin: 0;
}

.po-product__ctas {
  display: flex;
  align-items: center;
  gap: 38px;
  flex-shrink: 0;
}

.po-product__description {
  font-family: var(--po-font-body);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.3;
  color: var(--po-color-text);
  margin: 0;
  max-width: 50%;
}

.po-product__shop-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #262626;
  color: var(--po-color-white);
  font-family: var(--po-font-body);
  font-weight: 600;
  font-size: 14px;
  line-height: 1;
  letter-spacing: -0.42px;
  text-align: center;
  white-space: nowrap;
  height: 35px;
  min-width: 107px;
  padding: 0 26px;
  border: 1px solid #262626;
  flex-shrink: 0;
  transition: none;
}

.po-product:hover .po-product__shop-btn {
  background-color: transparent;
  color: var(--po-color-text);
}

.po-product__shop-btn--soldout {
  background-color: transparent;
  color: var(--po-color-text);
}

.po-product--soldout:hover .po-product__shop-btn--soldout {
  background-color: #262626;
  color: #f9f8f8;
}

.po-product__sold-tag {
  position: absolute;
  top: 12px;
  left: 12px;
  background-color: #262626;
  color: #f9f8f8;
  font-family: var(--po-font-body);
  font-weight: 600;
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 4px 8px;
  line-height: 1;
  z-index: 2;
}

/* --- Small Desktop (984–1511px) — same as desktop, just tighter padding --- */
@media screen and (min-width: 984px) and (max-width: 1511px) {
  .po-product__image { width: 250px; height: 250px; }
  .po-product__content { gap: 32px; padding: 0 36px; }
}

/* --- Tablet (800–983px) --- */
@media screen and (min-width: 800px) and (max-width: 983px) {
  .po-product__image { width: 286px; height: 286px; }
  .po-product__content { gap: 30px; padding: 0 30px; }
}

/* --- Mobile (<800px) --- */
@media screen and (max-width: 799px) {
  .po-product {
    flex-direction: column !important;
    width: 100% !important;
  }
  .po-product__image {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1/1;
    border-right: none !important;
    border-bottom: 1px solid #262626;
  }
  .po-product__content {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0 !important;
    padding: 25px !important;
    width: 100% !important;
  }
  .po-product__left {
    width: 100%;
  }
  .po-product__right {
    width: 100%;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding-top: 20px;
  }
  .po-product__title-block {
    font-size: 28px !important;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }
  .po-product__price {
    font-size: 28px !important;
  }
}

/* =============================================================================
   About
   ============================================================================= */

.po-about {
  display: grid;
  grid-template-columns: 50% 50%;
  height: 934px;
  border-bottom: 1px solid #262626;
}

/* Photo — left side */
.po-about__photo {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-right: 1px solid #262626;
  overflow: hidden;
  padding: 48px;
}

.po-about__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Copy — right side */
.po-about__copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-left: 80px;
  padding-right: 48px;
}

.po-about__objects {
  font-family: var(--po-font-display);
  font-weight: 300;
  font-style: italic;
  font-size: 78px;
  letter-spacing: -3px;
  color: var(--po-color-text);
  margin: 0 0 -12px 0;
  font-feature-settings: 'ornm' 1, 'ss01' 1, 'ss02' 1, 'ss03' 1, 'ss04' 1, 'ss08' 1, 'dlig' 1;
}

.po-about__headline {
  font-family: var(--po-font-heading);
  font-weight: 500;
  font-size: 78px;
  line-height: 0.95;
  text-transform: uppercase;
  letter-spacing: -3.12px;
  color: var(--po-color-text);
  margin: 0 0 32px 0;
}

.po-about__body {
  font-family: var(--po-font-body);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.5;
  color: var(--po-color-text);
  max-width: 414px;
  margin: 0 0 32px 0;
  text-wrap: pretty;
}

.po-about__cta {
  font-family: var(--po-font-body);
  font-weight: 600;
  font-size: 16px;
  letter-spacing: -0.48px;
  color: var(--po-color-text);
  text-decoration: none;
  transition: opacity 0.2s ease-out;
}

.po-about__cta:hover {
  opacity: 0.6;
}

/* About: Small desktop (984–1511px) */
@media screen and (min-width: 984px) and (max-width: 1511px) {
  .po-about {
    height: 600px;
  }

  .po-about__copy {
    padding-left: 50px;
    padding-right: 30px;
  }

  .po-about__objects {
    font-size: 58px;
  }

  .po-about__headline {
    font-size: 58px;
    letter-spacing: -2.32px;
  }
}

/* About: Tablet (800–983px) */
@media screen and (min-width: 800px) and (max-width: 983px) {
  .po-about {
    height: 595px;
  }

  .po-about__copy {
    padding-left: 44px;
    padding-right: 24px;
  }

  .po-about__objects {
    font-size: 36px;
  }

  .po-about__headline {
    font-size: 36px;
    letter-spacing: -1.44px;
  }
}

/* About: Mobile (<800px) */
@media screen and (max-width: 799px) {
  .po-about {
    display: flex;
    flex-direction: column;
    height: auto;
  }

  .po-about__photo {
    order: 2;
    border-right: none;
    padding: 20px 25px 40px;
  }

  .po-about__img {
    width: 100%;
    height: auto;
  }

  .po-about__copy {
    display: contents;
  }

  .po-about__objects,
  .po-about__headline {
    order: 1;
    padding: 0 25px;
  }

  .po-about__objects {
    padding-top: 40px;
    font-size: 48px;
  }

  .po-about__headline {
    font-size: 48px;
    letter-spacing: -1.92px;
    margin-bottom: 12px;
  }

  .po-about__body,
  .po-about__cta {
    order: 3;
    padding: 0 25px;
  }

  .po-about__cta {
    padding-bottom: 60px;
  }
}

/* =============================================================================
   Customs (Made to Order)
   ============================================================================= */

.po-customs {
  display: grid;
  grid-template-columns: 50% 50%;
  height: 934px;
  border-bottom: 1px solid #262626;
}

/* Copy — left side */
.po-customs__copy {
  min-width: 0;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
  border-right: 1px solid #262626;
  padding-left: 80px;
  padding-right: 48px;
}

.po-customs__copy-inner {
  max-width: 414px;
}

.po-customs__objects {
  font-family: var(--po-font-display);
  font-weight: 300;
  font-style: italic;
  font-size: 78px;
  letter-spacing: -3px;
  color: var(--po-color-text);
  margin: 0 0 -12px 0;
  /* Customs uses only ss02 + dlig */
  font-feature-settings: 'ss02' 1, 'dlig' 1;
}

.po-customs__headline {
  font-family: var(--po-font-heading);
  font-weight: 500;
  font-size: 78px;
  line-height: 0.95;
  text-transform: uppercase;
  letter-spacing: -3.12px;
  color: var(--po-color-text);
  margin: 0 0 32px 0;
}

.po-customs__body {
  font-family: var(--po-font-body);
  font-weight: 400;
  font-size: 16px;
  line-height: 1;
  color: var(--po-color-text);
  margin: 0 0 32px 0;
}

.po-customs__cta {
  font-family: var(--po-font-body);
  font-weight: 600;
  font-size: 16px;
  letter-spacing: -0.48px;
  color: var(--po-color-text);
  text-decoration: none;
  transition: opacity 0.2s ease-out;
}

.po-customs__cta:hover {
  opacity: 0.6;
}

/* Photo — right side */
.po-customs__photo {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 48px;
}

.po-customs__img,
.po-customs__video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Customs: Small desktop (984–1511px) */
@media screen and (min-width: 984px) and (max-width: 1511px) {
  .po-customs {
    height: 600px;
  }

  .po-customs__copy {
    padding-left: 50px;
    padding-right: 30px;
  }

  .po-customs__objects {
    font-size: 58px;
  }

  .po-customs__headline {
    font-size: 58px;
    letter-spacing: -2.32px;
  }
}

/* Customs: Tablet (800–983px) */
@media screen and (min-width: 800px) and (max-width: 983px) {
  .po-customs {
    height: 595px;
  }

  .po-customs__copy {
    padding-left: 44px;
    padding-right: 44px;
  }

  .po-customs__objects {
    font-size: 36px;
  }

  .po-customs__headline {
    font-size: 36px;
    letter-spacing: -1.44px;
  }
}

/* Customs: Mobile (<800px) */
@media screen and (max-width: 799px) {
  .po-customs {
    display: flex;
    flex-direction: column;
    height: auto;
  }

  .po-customs__photo {
    order: 2;
    padding: 20px 25px 40px;
  }

  .po-customs__img,
  .po-customs__video {
    width: 100%;
    height: auto;
  }

  .po-customs__copy,
  .po-customs__copy-inner {
    display: contents;
  }

  .po-customs__objects,
  .po-customs__headline {
    order: 1;
    padding: 0 25px;
  }

  .po-customs__objects {
    padding-top: 40px;
    font-size: 48px;
  }

  .po-customs__headline {
    font-size: 48px;
    letter-spacing: -1.92px;
    margin-bottom: 12px;
  }

  .po-customs__body,
  .po-customs__cta {
    order: 3;
    padding: 0 25px;
  }

  .po-customs__cta {
    padding-bottom: 60px;
  }
}

/* =============================================================================
   About Page — Statement
   ============================================================================= */

.po-about-hero {
  border-bottom: 1px solid #262626;
  padding: 120px 80px 120px;
}

.po-about-hero__inner {
  max-width: 1100px;
}

.po-about-hero__accent {
  font-family: var(--po-font-display);
  font-weight: 300;
  font-style: italic;
  font-size: 112px;
  line-height: 0.9;
  letter-spacing: -3px;
  color: var(--po-color-text);
  margin: 0;
  font-feature-settings: 'ornm' 1, 'ss01' 1, 'ss02' 1, 'ss03' 1, 'ss04' 1, 'ss08' 1, 'dlig' 1;
  text-transform: lowercase;
}

/* About Statement: Small desktop (984–1511px) */
@media screen and (min-width: 984px) and (max-width: 1511px) {
  .po-about-hero {
    padding: 80px 50px;
  }

  .po-about-hero__accent {
    font-size: 84px;
  }
}

/* About Statement: Tablet (800–983px) */
@media screen and (min-width: 800px) and (max-width: 983px) {
  .po-about-hero {
    padding: 60px 44px;
  }

  .po-about-hero__accent {
    font-size: 64px;
  }
}

/* About Statement: Mobile (<800px) */
@media screen and (max-width: 799px) {
  .po-about-hero {
    padding: 48px 25px 60px;
  }

  .po-about-hero__accent {
    font-size: 48px;
  }
}

/* =============================================================================
   About Page — Photo
   ============================================================================= */

.po-about-photo {
  display: grid;
  grid-template-columns: 50% 50%;
  min-height: 700px;
}

.po-about-photo__image {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-right: 1px solid #262626;
  overflow: hidden;
  padding: 48px;
}

.po-about-photo__img {
  width: 426px;
  height: 600px;
  object-fit: cover;
  display: block;
}

.po-about-photo__placeholder {
  width: 426px;
  height: 600px;
  background: #e0ddd8;
}

.po-about-photo__copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-left: 80px;
  padding-right: 48px;
}

.po-about-photo__copy-inner {
  max-width: 464px;
}

.po-about-photo__headline {
  font-family: var(--po-font-heading);
  font-weight: 500;
  font-size: 36px;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: -1.44px;
  color: var(--po-color-text);
  margin: 0 0 24px 0;
}

.po-about-photo__body {
  font-family: var(--po-font-body);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.5;
  color: var(--po-color-text);
  margin: 0 0 32px 0;
}

.po-about-photo__cta {
  font-family: var(--po-font-body);
  font-weight: 600;
  font-size: 16px;
  letter-spacing: -0.48px;
  color: var(--po-color-text);
  text-decoration: none;
  transition: opacity 0.2s ease-out;
}

.po-about-photo__cta:hover {
  opacity: 0.6;
}

/* About Photo: Small desktop (984–1511px) */
@media screen and (min-width: 984px) and (max-width: 1511px) {
  .po-about-photo {
    min-height: 500px;
  }

  .po-about-photo__img,
  .po-about-photo__placeholder {
    width: 234px;
    height: 330px;
  }

  .po-about-photo__copy {
    padding-left: 50px;
    padding-right: 30px;
  }

  .po-about-photo__headline {
    font-size: 28px;
  }
}

/* About Photo: Tablet (800–983px) */
@media screen and (min-width: 800px) and (max-width: 983px) {
  .po-about-photo {
    min-height: 450px;
  }

  .po-about-photo__img,
  .po-about-photo__placeholder {
    width: 262px;
    height: 369px;
  }

  .po-about-photo__copy {
    padding-left: 44px;
    padding-right: 24px;
  }

  .po-about-photo__headline {
    font-size: 24px;
  }
}

/* About Photo: Mobile (<800px) */
@media screen and (max-width: 799px) {
  .po-about-photo {
    display: flex;
    flex-direction: column;
    min-height: auto;
  }

  .po-about-photo__image {
    border-right: none;
    padding: 40px 25px;
  }

  .po-about-photo__img,
  .po-about-photo__placeholder {
    width: 100%;
    height: auto;
    max-height: 420px;
  }

  .po-about-photo__copy {
    padding: 40px 25px 60px;
  }

  .po-about-photo__headline {
    font-size: 24px;
  }
}

/* =============================================================================
   Work in Progress
   ============================================================================= */

.po-wip {
  width: 100%;
  overflow: hidden;
}

/* --- Marquee: gold bg --- */
.po-wip__marquee {
  background-color: #b29700;
  overflow: hidden;
  border-bottom: 1px solid #262626;
}

.po-wip__marquee-track {
  display: flex;
  white-space: nowrap;
  animation: po-marquee 30s linear infinite;
  margin-bottom: -8px;
}

.po-wip__marquee-item {
  flex-shrink: 0;
  font-size: 112px;
  line-height: 1;
  letter-spacing: -3.36px;
  color: var(--po-color-text);
  margin-right: 60px;
}

.po-wip__marquee-work {
  font-family: var(--po-font-display);
  font-weight: 300;
  font-style: italic;
  letter-spacing: -3px;
}

.po-wip__marquee-progress {
  font-family: var(--po-font-heading);
  font-weight: 500;
  text-transform: uppercase;
}

@keyframes po-marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* --- Carousel: light bg, cards side by side with vertical dividers --- */
.po-wip__body {
  background-color: #f9f8f8;
  position: relative;
  overflow: hidden;
}

.po-wip__carousel {
  display: flex;
  scrollbar-width: none;
  -ms-overflow-style: none;
  will-change: transform;
  cursor: grab;
  touch-action: pan-y;
}

.po-wip__carousel.is-dragging {
  cursor: grabbing;
}

.po-wip__carousel.is-dragging .po-wip__card {
  pointer-events: none;
}

.po-wip__carousel::-webkit-scrollbar {
  display: none;
}

/* --- Cards: no gap, separated by vertical 1px borders --- */
.po-wip__card {
  flex-shrink: 0;
  width: 496px;
  border-right: 1px solid #262626;
  text-decoration: none;
  color: var(--po-color-text);
  display: flex;
  flex-direction: column;
}


/* Card image area: light bg with padding */
.po-wip__card-image {
  width: 100%;
  height: 330px;
  overflow: hidden;
  padding: 80px;
  background-color: #f9f8f8;
  border-bottom: 1px solid #262626;
  flex-shrink: 0;
}

.po-wip__card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Card title area: gold bg */
.po-wip__card-content {
  background-color: #b29700;
  padding: 20px 24px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex: 1;
}

.po-wip__card-title {
  font-family: var(--po-font-heading);
  font-weight: 500;
  font-size: 24px;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  align-self: stretch;
  min-width: 0;
  letter-spacing: -0.72px;
  margin: 0 0 16px 0;
  line-height: 1.1;
}

.po-wip__card-cta {
  font-family: var(--po-font-body);
  font-weight: 600;
  font-size: 16px;
  letter-spacing: -0.48px;
  white-space: nowrap;
}

/* --- WIP: Small Desktop (984–1511px) --- */
@media screen and (min-width: 984px) and (max-width: 1511px) {
  .po-wip__card-image { height: 260px; padding: 60px; }
}

/* --- WIP: Tablet (800–983px) --- */
@media screen and (min-width: 800px) and (max-width: 983px) {
  .po-wip__marquee-item { font-size: 80px; margin-right: 44px; }
  .po-wip__card { width: 380px; }
  .po-wip__card-image { height: 220px; padding: 40px; }
}

/* --- WIP: Mobile (<800px) --- */
@media screen and (max-width: 799px) {
  .po-wip__marquee-item { font-size: 56px; margin-right: 32px; }
  .po-wip__card { width: 300px; }
  .po-wip__card-image { height: 180px; padding: 24px; }
  .po-wip__card-title { font-size: 18px; }
}

/* =============================================================================
   Footer
   ============================================================================= */

.po-footer {
  background-color: #f9f8f8;
  border-top: 1px solid #262626;
  padding: 48px 20px 32px;
}

.po-footer__inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 48px;
  max-width: 1512px;
  margin: 0 auto;
  padding-bottom: 48px;
}

.po-footer__left {
  flex: 1 0 0;
  min-width: 0;
  max-width: 400px;
}

.po-footer__newsletter-heading {
  font-family: var(--po-font-heading);
  font-weight: 500;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: var(--po-color-text);
  margin: 0 0 16px 0;
}

.po-footer__form-row {
  display: flex;
  gap: 0;
}

.po-footer__input {
  flex: 1;
  font-family: var(--po-font-body);
  font-size: 14px;
  color: var(--po-color-text);
  background: transparent;
  border: 1px solid #262626;
  border-right: none;
  padding: 10px 16px;
  outline: none;
}

.po-footer__input:focus {
  border-color: #b29700;
}

.po-footer__input::placeholder {
  color: var(--po-color-text);
  opacity: 0.35;
}

.po-footer__submit {
  font-family: var(--po-font-body);
  font-weight: 600;
  font-size: 14px;
  letter-spacing: -0.42px;
  background-color: #262626;
  color: #f9f8f8;
  border: 1px solid #262626;
  padding: 10px 24px;
  cursor: pointer;
  white-space: nowrap;
  transition: opacity 0.2s ease-out;
}

.po-footer__submit:hover {
  opacity: 0.85;
}

.po-footer__form-success {
  font-family: var(--po-font-body);
  font-size: 13px;
  color: var(--po-color-text);
  opacity: 0.6;
  margin: 8px 0 0;
}

.po-footer__form-error {
  font-family: var(--po-font-body);
  font-size: 13px;
  color: #a33;
  margin: 8px 0 0;
}

.po-footer__right {
  flex-shrink: 0;
}

.po-footer__nav {
  display: flex;
  gap: 24px;
}

.po-footer__link {
  font-family: var(--po-font-body);
  font-weight: 400;
  font-size: 12px;
  letter-spacing: 0.6px;
  color: var(--po-color-text);
  text-decoration: none;
  transition: opacity 0.2s ease-out;
}

.po-footer__link:hover {
  opacity: 0.5;
}

.po-footer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1512px;
  margin: 0 auto;
  padding-top: 24px;
  border-top: 1px solid rgba(38, 38, 38, 0.15);
}

.po-footer__copyright {
  font-family: var(--po-font-body);
  font-size: 12px;
  color: var(--po-color-text);
  opacity: 0.4;
  margin: 0;
}

.po-footer__social {
  display: flex;
  gap: 20px;
}

/* Hide reCAPTCHA badge — still functional, just not visible */
.grecaptcha-badge {
  visibility: hidden !important;
}

/* Hide hCaptcha badge — still functional, just not visible */
.h-captcha,
iframe[src*="hcaptcha.com"],
[class*="hcaptcha-badge"],
[class*="hcaptcha-badge-container"] {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Footer: Mobile */
@media screen and (max-width: 799px) {
  .po-footer__inner {
    flex-direction: column;
    gap: 32px;
  }

  .po-footer__left {
    max-width: 100%;
  }

  .po-footer__nav {
    flex-wrap: wrap;
    gap: 16px;
  }

  .po-footer__bottom {
    flex-direction: column;
    gap: 16px;
    align-items: flex-start;
  }
}

/* =============================================================================
   Product Page — Dawn overrides
   ============================================================================= */

product-info { padding: 0 !important; }
product-info .page-width { max-width: none !important; padding: 0 !important; }

/* --- Layout: 50/50 grid --- */
product-info .product.grid {
  display: grid !important;
  grid-template-columns: 50% 50% !important;
  gap: 0 !important;
  margin: 0 !important;
}

product-info .product__media-wrapper,
product-info .product__info-wrapper {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  padding-left: 0 !important;
  flex: none !important;
}

/* --- Left: images --- */
product-info .product__media-wrapper {
  border-right: 1px solid #262626;
  position: relative;
}

product-info .product__media-list,
product-info .product__media-list.grid {
  display: flex !important;
  flex-wrap: nowrap !important;
  padding: 0 !important;
  margin: 0 !important;
  gap: 0 !important;
  column-gap: 0 !important;
  row-gap: 0 !important;
  list-style: none;
  width: 100% !important;
}

@media screen and (min-width: 900px) {
  product-info .product__media-list {
    flex-direction: column !important;
  }
}

/* Each image item: let height be driven by Dawn's natural aspect-ratio padding system.
   Do NOT override .media, .media > *, or img positioning — Dawn's padding-top ratio
   trick depends on the img being position:absolute inside the padded .media container. */
product-info .product__media-item,
product-info .product__media-item.grid__item,
product-info .product__media-item.grid__item.slider__slide {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  flex: none !important;
}

@media screen and (min-width: 900px) {
  product-info .product__media-item + .product__media-item {
    border-top: 1px solid #262626 !important;
  }
}

product-info .product__media-item .product-media-container {
  width: 100% !important;
  max-width: 100% !important;
}

product-info .slider-buttons,
product-info .thumbnail-list,
product-info .product__media-toggle-full-screen,
product-info .product__media-icon {
  display: none !important;
}

product-info .product__media-wrapper iframe,
product-info .product__media-wrapper .shopify-payment-button,
product-info .product__media-wrapper [src*="shop.app"] {
  display: none !important;
  height: 0 !important;
  width: 0 !important;
}

/* --- Right: info (sticky panel, button always pinned at bottom) --- */
/* Reset Dawn's left padding — we control all spacing ourselves */
product-info .product__info-wrapper {
  padding: 0 !important;
}

/* Sticky full-height flex column — desktop only (2-col layout) */
@media screen and (min-width: 750px) {
  /* Sticky, capped-to-viewport column (this is what keeps the right side
     fixed while the left image scrolls) — but no internal scroll/hidden
     scrollbar on the description text itself. */
  product-info .product__info-wrapper {
    position: sticky !important;
    top: var(--header-height, 48px) !important;
    height: auto;
    max-height: calc(100vh - var(--header-height, 48px));
    max-height: calc(100dvh - var(--header-height, 48px));
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }

  /* Kill Dawn's own sticky on the inner container so it doesn't conflict. */
  product-info .product__info-container {
    position: static !important;
    top: auto !important;
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    padding: clamp(24px, 5dvh, 57px) 58px 24px;
  }

  product-info .product__info-container > * {
    flex-shrink: 0;
  }

  product-info .product__info-container .po-pdp-tabs {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
  }

  /* Pinned button zone */
  product-info .product__info-wrapper > product-form,
  product-info .product__info-wrapper > .po-start-customizing-wrapper {
    flex-shrink: 0;
    padding: 16px 58px 24px;
    background: #f9f8f8;
  }
}

/* Mobile: normal flow, no sticky tricks */
@media screen and (max-width: 749px) {
  product-info .product__info-container {
    padding: 24px 20px;
  }

  product-info .product__info-wrapper > product-form,
  product-info .product__info-wrapper > .po-start-customizing-wrapper {
    padding: 16px 20px 40px;
  }
}

product-info .product__info-container > * + * {
  margin-top: 0;
}

/* Cloned installment after buy buttons */
.po-installment-moved {
  margin-top: 16px;
  text-align: center;
}


/* Edition metafield — "#001" */
product-info .product__text {
  font-family: var(--po-font-display);
  font-weight: 300;
  font-style: italic;
  font-size: clamp(18px, 2.5vw, 36px);
  letter-spacing: -0.03em;
  color: var(--po-color-text);
  text-transform: none;
  margin: 0 0 clamp(10px, 1.5dvh, 20px) 0;
  line-height: 0.9;
}

/* Product title — Leopardo italic */
product-info .product__title h1,
product-info .product__title h2,
product-info .product__title .h1 {
  font-family: var(--po-font-display) !important;
  font-weight: 300 !important;
  font-style: italic;
  font-size: clamp(36px, 5vw, 74px);
  letter-spacing: -0.03em;
  line-height: 0.9;
  text-transform: none !important;
  color: var(--po-color-text);
  margin: 0;
}

/* Price */
product-info .product__title + div {
  margin-top: clamp(16px, 3dvh, 40px);
}

product-info .price--large .price-item {
  font-family: var(--po-font-body);
  font-weight: 400;
  font-size: clamp(16px, 1.8vw, 25px);
  letter-spacing: -0.03em;
  color: var(--po-color-text);
  line-height: 0.9;
}

product-info .price .badge {
  display: none;
}

/* Description tabs */
.po-pdp-tabs {
  padding-top: 4px;
}

.po-pdp-tabs__nav {
  display: flex;
  gap: 32px;
  margin-bottom: 6px;
}

.po-pdp-tabs__btn {
  font-family: var(--po-font-body);
  font-weight: 400;
  font-size: 12px;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: var(--po-color-text);
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  transition: opacity 0.2s ease-out;
  text-decoration: none;
  width: auto;
  text-align: left;
}

.po-pdp-tabs__btn:hover {
  opacity: 0.6;
}

.po-pdp-tabs__btn--active {
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
}

.po-pdp-tabs__panel {
  display: none;
  font-family: var(--po-font-body);
  font-weight: 400;
  font-size: clamp(15px, 1.6vw, 20px);
  line-height: 1.27;
  color: var(--po-color-text);
}

.po-pdp-tabs__panel--active {
  display: block;
}

/* Add to cart button */
product-info .product-form__submit {
  background-color: transparent !important;
  color: var(--po-color-text) !important;
  border: 1px solid #262626 !important;
  font-family: var(--po-font-body) !important;
  font-weight: 400 !important;
  font-size: 32px !important;
  letter-spacing: -0.96px !important;
  height: 99px !important;
  min-height: 0 !important;
  min-width: 0 !important;
  width: 100% !important;
  padding: 0 !important;
  transition: none !important;
}

/* Start customizing CTA */
product-info .po-start-customizing {
  background-color: transparent !important;
  color: var(--po-color-text) !important;
  border: 1px solid #262626 !important;
  font-family: var(--po-font-body) !important;
  font-weight: 400 !important;
  font-size: 32px !important;
  letter-spacing: -0.96px !important;
  height: 99px !important;
  min-height: 0 !important;
  min-width: 0 !important;
  width: 100% !important;
  padding: 0 !important;
  transition: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
}

/* Loading state — keep dimensions stable */
product-info .product-form__submit.loading,
product-info .product-form__submit[aria-disabled='true'] {
  width: 100% !important;
  height: 99px !important;
}

product-info .product-form__submit:hover,
product-info .po-start-customizing:hover {
  background-color: #262626 !important;
  color: #f9f8f8 !important;
}

/* Hide Dawn's quantity selector, share, vendor badge */
product-info .product-form__input--quantity,
product-info .share-button,
product-info .product__tax,
product-info .caption-with-letter-spacing:not(.product__text) {
  display: none;
}

/* Installment/Shop Pay text */
product-info .installment,
product-info .installment * {
  font-family: var(--po-font-body) !important;
  font-size: 16px !important;
  line-height: 1.27 !important;
  letter-spacing: -0.32px !important;
  color: var(--po-color-text) !important;
}

product-info .installment {
  margin-top: 16px;
  text-align: center;
}

product-info .installment a {
  text-decoration: underline;
  text-decoration-skip-ink: none;
  text-underline-offset: 2px;
}

/* Dynamic checkout (Shop Pay button) */
product-info .shopify-payment-button {
  display: none !important;
}

/* Zoom modal: Dawn only constrains media width to the viewport at 750px+
   (.product-media-modal__content > * { width: 100% }). Below that it's
   missing, so a tall product photo renders at its native pixel width
   (the sizes attribute's mobile fallback is a flat 1100px) and overflows
   the screen instead of scaling down. */
product-info .product-media-modal__content > * {
  max-width: 100%;
}

/* --- Mobile: stack + horizontal carousel --- */
@media screen and (max-width: 899px) {
  product-info .product.grid {
    grid-template-columns: 1fr !important;
  }

  product-info .product__media-wrapper {
    border-right: none !important;
    border-bottom: 1px solid #262626;
    overflow: hidden !important;
    position: relative;
  }

  product-info .slider-mobile-gutter {
    width: 100% !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  /* This is the track the JS slider transforms (translateX per slide). It must
     NOT clip its own overflow — Dawn's native .slider--mobile class sets
     overflow-x: auto here, which turns this element into its own scroll
     container; transforming a self-clipping container only moves its already
     -clipped viewport around and never reveals the other slides. The ancestors
     above (.product__media-wrapper, .slider-mobile-gutter) are the clip
     boundary instead. */
  product-info .product__media-list {
    width: 100% !important;
    margin: 0 !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    overflow: visible !important;
    will-change: transform;
  }

  product-info .product__media-item,
  product-info .product__media-item.grid__item,
  product-info .product__media-item.grid__item.slider__slide {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    flex: 0 0 100% !important;
    border: none !important;
    overflow: hidden !important;
  }

  product-info .product-media-container {
    width: 100% !important;
    height: auto !important;
  }

  /* Natural aspect ratio per photo — no forced square. Dawn's own
     padding-top: var(--ratio-percent) on .media (section-main-product.css)
     already handles this; just make sure nothing here overrides it. */
  product-info .product__media-item .media {
    width: 100% !important;
    overflow: hidden !important;
  }

  product-info .product__info-wrapper {
    position: static !important;
    height: auto !important;
    overflow: visible !important;
  }

  product-info .product__info-container {
    padding: 32px 20px;
    min-height: auto;
  }

  product-info .product__title h1,
  product-info .product__title h2,
  product-info .product__title .h1 {
    font-size: 48px;
    letter-spacing: -1.5px;
  }

  product-info .product__text { font-size: 32px; }

  product-info .product-form__submit {
    font-size: 24px !important;
    height: 72px !important;
  }

  .po-pdp-tabs__panel { font-size: 18px; }
}

/* Mobile gallery dots */
.po-mobile-gallery-dots {
  position: absolute;
  bottom: 16px;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  z-index: 10;
}

.po-mobile-gallery-dots__dot {
  width: 4px;
  height: 4px;
  background-color: #ffffff;
  border: none;
  padding: 0;
  cursor: pointer;
  opacity: 0.5;
  transition: opacity 0.2s ease-out;
}

.po-mobile-gallery-dots__dot--active {
  opacity: 1;
}

@media screen and (min-width: 900px) {
  .po-mobile-gallery-dots { display: none; }
}

/* Breakpoints (mobile-first)
   < 800px       mobile
   800px–983px   tablet
   984px–1511px  small desktop
   1512px+       desktop
*/

/* =============================================================================
   Cart quantity override
   ============================================================================= */
.cart-item quantity-input.quantity {
  border: none !important;
  border-radius: 0 !important;
  display: inline-flex !important;
  align-items: stretch !important;
  height: 40px !important;
  min-height: 0 !important;
  background: none !important;
  box-shadow: none !important;
}

.cart-item .quantity__button {
  background: none !important;
  border: 1px solid #262626 !important;
  border-radius: 0 !important;
  width: 40px !important;
  color: var(--po-color-text) !important;
  cursor: pointer;
  transition: none !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 0 !important;
}

.cart-item .quantity__button[name="minus"] {
  border-right: none !important;
}

.cart-item .quantity__button[name="plus"] {
  border-left: none !important;
}

.cart-item .quantity__button:hover {
  background-color: #262626 !important;
  color: #f9f8f8 !important;
}

.cart-item .quantity__input {
  border: 1px solid #262626 !important;
  border-radius: 0 !important;
  width: 48px !important;
  text-align: center !important;
  font-family: var(--po-font-body) !important;
  font-size: 14px !important;
  color: var(--po-color-text) !important;
  background: none !important;
  padding: 0 !important;
  -moz-appearance: textfield !important;
  min-height: 0 !important;
  box-shadow: none !important;
}

.cart-item .quantity__input::-webkit-inner-spin-button,
.cart-item .quantity__input::-webkit-outer-spin-button {
  -webkit-appearance: none;
}

.cart-item cart-remove-button button {
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  cursor: pointer;
  font-family: var(--po-font-body);
  font-size: 14px;
  color: var(--po-color-text);
  text-decoration: underline;
  text-underline-offset: 3px;
  width: auto !important;
  height: auto !important;
  margin-left: 16px;
}

.cart-item cart-remove-button button svg {
  display: none;
}

.cart-item cart-remove-button button::after {
  content: 'Remove';
}

/* =============================================================================
   Cart page overrides
   ============================================================================= */
.title-wrapper-with-link .title--primary {
  font-family: var(--po-font-display) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-size: 106px !important;
  line-height: 0.9 !important;
  letter-spacing: -3.18px !important;
  color: var(--po-color-text) !important;
  text-transform: none !important;
}

.cart__empty-text {
  font-family: var(--po-font-display) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-size: 106px !important;
  line-height: 0.9 !important;
  letter-spacing: -3.18px !important;
  color: var(--po-color-text) !important;
  text-transform: none !important;
}

/* Hide inline price on cart items (total column shows it) */
.cart-item .cart-item__discounted-prices,
.cart-item__name + .product-option {
  display: none;
}

/* -----------------------------------------------------------------------------
   Contact form — label/field cleanup
   ----------------------------------------------------------------------------- */
.contact .field__label {
  font-family: var(--po-font-body);
  font-size: 14px;
  font-weight: 400;
  color: var(--po-color-text);
  position: absolute;
  top: 12px;
  left: 16px;
  transform: none;
  transition: none;
  pointer-events: none;
}

.contact .field__input:not(:placeholder-shown) ~ .field__label,
.contact .field__input:focus ~ .field__label {
  display: none;
}

.contact .field__input,
.contact .text-area {
  font-family: var(--po-font-body);
  font-size: 16px;
  color: var(--po-color-text);
  background: #f9f8f8;
  border: 1px solid #262626;
  border-radius: 0;
  padding: 12px 16px;
  box-shadow: none;
}

.contact .field__input:focus,
.contact .text-area:focus {
  outline: none;
  box-shadow: none;
  border-color: #262626;
}

/* Sold out price labels — product grid cards */
.po-products__price--soldout,
.po-grid__price--soldout,
.po-featured__price--soldout {
  color: var(--po-color-accent);
}
