.vc_row, .wpb_row { max-width: 100%; }
@media (min-width: 1024px) {
  .pp-hero { align-items: stretch; }
  .pp-hero .wpb_column:first-child,
  .pp-hero .vc_col-sm-6:first-child { flex: 1.2 1 0; width: 58% !important; max-width: 58%; }
  .pp-hero .wpb_column:last-child,
  .pp-hero .vc_col-sm-6:last-child { flex: 1 1 0; width: 42% !important; max-width: 42%; padding-left: clamp(1.5rem, 3vw, 3.25rem); }
  .pp-editorial.vc_row,
  .pp-editorial.wpb_row,
  .pp-editorial {
    display: grid !important;
    grid-template-columns: minmax(0, 1.28fr) minmax(16rem, .72fr);
    align-items: stretch;
  }
  .pp-editorial .wpb_column,
  .pp-editorial .vc_col-sm-6 {
    float: none !important;
    width: auto !important;
    max-width: none !important;
  }
  .pp-editorial .wpb_column:first-child,
  .pp-editorial .vc_col-sm-6:first-child {
    margin-left: clamp(-2.5rem, -4vw, -1rem);
  }
  .pp-editorial .wpb_column:last-child,
  .pp-editorial .vc_col-sm-6:last-child {
    padding-left: clamp(1.25rem, 3vw, 2.75rem);
    max-width: 28rem;
  }
  .pp-best-seller-slide {
    display: grid;
    grid-template-columns: minmax(0, 1.8fr) minmax(16rem, 1fr);
    align-items: center;
    overflow-x: clip;
  }
  .pp-best-seller-visual {
    position: relative;
    overflow: hidden;
    width: 100%;
    max-width: none;
    aspect-ratio: 1 / 1;
    height: auto;
    min-height: 0;
  }
  .pp-best-seller-visual figure {
    position: absolute;
    inset: 0;
    margin: 0;
  }
  .pp-best-seller-visual figure img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .pp-best-seller-info {
    align-self: center;
    position: relative;
    z-index: 1;
    margin-left: -4rem;
    max-width: none;
    padding: clamp(1.75rem, 4vw, 3.25rem);
  }
}
@media (max-width: 1023.98px) {
  :root { --pp-space-section: clamp(2.25rem, 5vw, 3.5rem); }
  .pp-hero { min-height: 0; }
  .pp-hero-visual img { min-height: 0; }
  .pp-editorial .wpb_column { width: 100%; }
  .pp-editorial-visual img, .pp-editorial img {
    min-height: clamp(18rem, 64svh, 28rem);
    height: clamp(18rem, 64svh, 28rem);
    max-height: 68svh;
  }
  .woocommerce div.product .summary { padding-inline: clamp(1rem, 3vw, 2rem); }
  .pp-best-seller-slide {
    display: flex;
    flex-direction: column;
    height: auto;
  }
  .pp-best-seller-visual {
    position: relative;
    overflow: hidden;
    width: 100%;
    max-width: none;
    aspect-ratio: 1 / 1;
    height: auto;
    min-height: 0;
  }
  .pp-best-seller-visual figure {
    position: absolute;
    inset: 0;
    margin: 0;
  }
  .pp-best-seller-visual figure img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .pp-best-seller-info {
    z-index: 1;
    margin: -1.25rem .75rem 0;
    max-width: none;
    padding: 1.15rem 1rem 1.4rem;
  }
  .pp-editorial::before { width: 2.25rem; }
}
@media (max-width: 1280px) {
  .pp-collection-slide { flex-basis: calc((100% - (3 * var(--pp-collection-gap))) / 4); }
}
@media (max-width: 1024px) {
  .pp-collection-slide { flex-basis: calc((100% - (2 * var(--pp-collection-gap))) / 3); }
}
@media (max-width: 959px) {
  #site-navigation-wrap,
  #site-header .vcex-horizontal-menu,
  #site-header .wpex-header-search-icon {
    display: none !important;
  }
  #site-header,
  #site-header.header-builder {
    min-height: 64px;
  }
  #site-header #site-header-inner,
  #site-header-inner,
  #site-header .header-builder-inner {
    min-height: 64px;
    height: auto;
    padding-block: 8px;
    padding-inline: clamp(1rem, 4vw, 1.5rem);
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
  }
  #site-header .pp-dior-header-row,
  #site-header .pp-dior-header-row .wpb_wrapper {
    min-height: 48px;
  }
  #site-header .wcmenucart,
  #site-header .wpex-header-cart-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
  }
  #site-logo img {
    max-height: 32px;
    max-width: clamp(160px, 45vw, 200px);
    height: auto;
  }
}
@media (max-width: 767px) {
  .pp-location-card, .pp-location-modal-inner { grid-template-columns: 1fr; }
  .pp-location-modal { height: auto; max-height: 96vh; overflow: auto; }
  .pp-location-modal-map { min-height: 42vh; }
  .pp-location-modal-details { border-left: 0; border-top: var(--pp-line) solid var(--pp-border); }
  .pp-hero, .pp-brand-intro, .pp-featured-collection, .pp-editorial, .pp-cta { padding-block: clamp(2rem, 9vw, 3.25rem); }
  .pp-hero { min-height: 0; }
  .pp-hero-visual img { aspect-ratio: 4 / 5; max-height: 62svh; min-height: 0; }
  .pp-hero h1 { font-size: var(--pp-text-display); }
  .pp-hero h2 { font-size: var(--pp-text-meta); letter-spacing: var(--pp-letter-spacing-wide); }
  .pp-hero .wpb_text_column { font-size: var(--pp-text-body); }
  .pp-editorial .wpb_column + .wpb_column { margin-top: 1.5rem; }
  .pp-editorial h2 { max-width: none; }
  .pp-editorial .wpb_column:first-child,
  .pp-editorial .vc_col-sm-6:first-child,
  .pp-editorial .wpb_column:last-child,
  .pp-editorial .vc_col-sm-6:last-child {
    position: relative;
    top: auto !important;
    margin-left: 0 !important;
    transform: none !important;
  }
  .pp-editorial .wpb_column:last-child,
  .pp-editorial .vc_col-sm-6:last-child { padding-top: 0 !important; }
  .pp-editorial .wpb_text_column { margin-top: 0; }
  .woocommerce ul.products,
  .woocommerce ul.products.columns-3,
  .woocommerce ul.products.columns-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .woocommerce button.button, .woocommerce a.button, .woocommerce input.button { min-height: 48px; }
  .pp-info-page .entry-content { width: min(90vw, 680px); }
}
@media (max-width: 768px) {
  .pp-cta-trio.vc_row,
  .pp-cta-trio.wpb_row {
    display: flex;
    flex-direction: column;
    padding: 0;
  }
  .pp-cta-trio .wpb_wrapper {
    width: 100%;
  }
  .pp-cta-panels {
    display: flex;
    flex-direction: column;
    width: 100%;
  }
  .pp-cta-trio .wpb_column,
  .pp-cta-trio .vc_col-sm-4,
  .pp-cta-trio .vc_column_container {
    float: none;
    display: block;
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .pp-cta-panel {
    width: 100%;
    min-height: clamp(7.5rem, 18svh, 9rem);
    justify-content: flex-start;
    text-align: left;
    font-size: var(--pp-text-title-card);
    padding: clamp(1.5rem, 5vw, 2rem);
  }
  .pp-cta-panel:first-child { border-right: 0; border-bottom: 0; }
  .pp-collection-slide { flex-basis: calc((100% - var(--pp-collection-gap)) / 2); }
  .pp-best-sellers { padding-block: clamp(2rem, 9vw, 2.75rem) 0; }
  .pp-shop-by-collection { padding-block: clamp(2rem, 9vw, 3.25rem); }
  :root { --pp-discovery-inset: 8px; }
  .pp-discovery-overlay { padding: var(--pp-discovery-inset); }
  .pp-discovery-panel { width: 100%; }
  .pp-campaign-stories {
    width: 100%;
    max-width: 100vw;
    height: auto;
    min-height: 0;
    max-height: none;
    overflow: hidden;
    position: relative;
    overflow-x: clip;
    padding-bottom: clamp(24px, 7vw, 40px);
  }
  .pp-campaign-stage {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    position: relative;
    width: 100%;
    height: auto;
    min-height: 0;
  }
  .pp-campaign-slide {
    grid-area: 1 / 1;
    position: relative;
    width: 100%;
    height: auto;
    inset: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .pp-campaign-video {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    height: clamp(280px, 44svh, 340px);
    object-fit: cover;
    display: block;
    flex-shrink: 0;
  }
  .pp-campaign-atmosphere {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: clamp(280px, 44svh, 340px);
  }
  .pp-campaign-card {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    margin-top: -24px;
    margin-inline: auto;
    width: calc(100% - 32px);
    max-width: 358px;
    z-index: 3;
    padding: 1rem 1.25rem;
    gap: 0.5rem;
  }
  .pp-campaign-card-visual {
    height: 125px;
  }
  .pp-campaign-card-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  .pp-campaign-controls {
    position: absolute;
    top: calc(clamp(280px, 44svh, 340px) - 86px);
    right: 16px;
    bottom: auto;
    z-index: 4;
    padding: 0.35rem 0.55rem;
  }
  .pp-events-journal {
    grid-template-columns: 1fr;
    margin-bottom: clamp(28px, 6vw, 40px);
  }
  .pp-events-journal--trio .pp-events-journal__item:not(:last-child),
  .pp-events-journal--duo .pp-events-journal__item:not(:last-child) {
    border-right: 0;
    border-bottom: var(--pp-line, 1px) solid var(--pp-border, rgba(0, 0, 0, 0.08));
  }
  #footer-builder {
    padding-block: clamp(2.75rem, 8vw, 4rem) 2rem;
  }
  .pp-footer-main-row {
    grid-template-columns: 1fr !important;
    gap: 2.25rem !important;
    margin-bottom: 2.5rem !important;
  }
  .pp-footer-utility-row {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
    padding-top: 2rem !important;
    margin-bottom: 2.5rem !important;
  }
  .pp-footer-brand--centered .pp-footer-brand__wordmark {
    letter-spacing: 0.22em;
    font-size: clamp(2rem, 10vw, 3.25rem);
  }
}
@media (max-width: 430px) {
  #site-scroll-top { display: none !important; }
  .pp-hero h1 { white-space: nowrap; letter-spacing: .04em; }
  .pp-shop-by-collection-tabs {
    padding-right: 0;
    -webkit-mask-image: linear-gradient(to right, #000 0, #000 calc(100% - 1.5rem), transparent 100%);
    mask-image: linear-gradient(to right, #000 0, #000 calc(100% - 1.5rem), transparent 100%);
  }
  .pp-shop-by-collection-tabs::after { content: ""; flex: 0 0 3rem; }
  #footer-builder .footer-builder-content {
    padding-inline: 1rem;
  }
  .pp-footer-main-row {
    gap: 1.75rem !important;
  }
  .pp-footer-nav .vcex-navbar,
  .pp-footer-nav ul,
  .pp-footer-nav .vcex-navbar-list {
    gap: 0.75rem;
  }
  .pp-footer-nav a,
  .pp-footer-nav .vcex-navbar-link a {
    padding-block: 2px;
  }
}

@media (min-width: 1440px) {
  :root { --pp-space-section: clamp(3.25rem, 5vw, 5.5rem); }
  .pp-hero { min-height: min(74vh, 780px); }
  .pp-hero h1 { font-size: var(--pp-text-display); }
  .pp-hero-visual img { min-height: min(70vh, 760px); }
  .pp-brand-intro > .wpb_column > .vc_column-inner { max-width: min(44vw, 720px); }
  .pp-collection-empty { max-width: 760px; }
  .pp-best-seller-slide { min-height: clamp(640px, 84vh, 900px); }
  .pp-collection-slide { flex-basis: calc((100% - (4 * var(--pp-collection-gap))) / 5); }
}
@media (min-width: 1920px) {
  :root { --pp-space-section: clamp(3.75rem, 5vw, 6rem); }
  .pp-hero { min-height: min(72vh, 820px); }
  .pp-container, .vc_row > .wpb_row_container, .wpb_row > .wpb_row_container { max-width: 1440px; margin-inline: auto; }
}
@media (max-width: 390px) {
  .pp-collection-slide { flex-basis: calc(100% / 1.2); max-width: calc(100% / 1.2); }
  .pp-best-seller-visual figure { min-height: 0; max-height: none; }
  .pp-best-sellers,
  .pp-shop-by-collection,
  .pp-cta-trio,
  .pp-campaign-stories { overflow-x: clip; }
  .pp-campaign-stories { max-width: 100%; }
  .pp-campaign-card {
    left: auto;
    right: auto;
    width: calc(100% - 24px);
    padding: 0.85rem 1rem;
    gap: 0.45rem;
  }
  .pp-campaign-card-visual { height: 115px; }
  .pp-campaign-card-title { font-size: var(--pp-text-title-card); }
  .pp-campaign-controls {
    right: 12px;
    top: calc(clamp(280px, 44svh, 340px) - 82px);
    padding: 0.25rem 0.4rem;
    gap: 0.5rem;
  }
  .pp-campaign-prev,
  .pp-campaign-next { width: 32px; height: 32px; }
  .pp-discovery-overlay { padding: var(--pp-discovery-inset); inset: 0; }
  .woocommerce-account.pp-customer-account .col2-set,
  .woocommerce-account .pp-customer-account .col2-set { display: block; }
  .woocommerce-account.pp-customer-account .u-columns,
  .woocommerce-account .pp-customer-account .u-columns { display: block; }
  .woocommerce-account.pp-customer-account .col-1,
  .woocommerce-account.pp-customer-account .col-2,
  .woocommerce-account .pp-customer-account .col-1,
  .woocommerce-account .pp-customer-account .col-2 { width: 100%; float: none; }
  .woocommerce-account.pp-customer-account .woocommerce form .button,
  .woocommerce-account .pp-customer-account .woocommerce form .button { width: 100%; }
}
