/*
 * PressPair ReadyWear V2029 cPanel final pass
 * Final cascade layer for the approved V198-V2028 work.
 */

:root {
  --pp-final-navy: #061b34;
  --pp-final-blue: #0a3b70;
  --pp-final-gold: #d2a54b;
  --pp-final-gold-deep: #9a6b21;
  --pp-final-white: #ffffff;
  --pp-final-silk: url('../images/v2020-silk-user-luxury-white-neutral.jpeg');
}

html,
body {
  max-width: 100%;
}

body {
  overflow-x: hidden;
}

img,
video {
  max-width: 100%;
}

/* Old review controls and the removed wave blocks must never flash before JS. */
.pp-v89-controls,
[data-pp-suite-viewbar],
.pp-lookbook-viewbar,
.pp-mobile-version-button,
.pp-desktop-version-button,
#desktopMode,
#mobileMode,
.pp-v199-accessories-bottom-waves,
.wave {
  display: none !important;
}

/* One compact three-part control. The selected display mode is gold. */
html body .pp-v96-viewbar.pp-v2009-view-control.pp-v2014-three-control,
html body.home-page .pp-v2013-viewbar-stage .pp-v96-viewbar.pp-v2009-view-control.pp-v2014-three-control {
  background: var(--pp-final-navy) !important;
  border-color: var(--pp-final-gold) !important;
}

html body .pp-v96-viewbar.pp-v2009-view-control.pp-v2014-three-control > button[data-mode='desktop'],
html body .pp-v96-viewbar.pp-v2009-view-control.pp-v2014-three-control > button[data-mode='mobile'] {
  background: rgba(255,255,255,.96) !important;
  color: var(--pp-final-navy) !important;
  border-color: rgba(210,165,75,.72) !important;
  box-shadow: none !important;
}

html body .pp-v96-viewbar.pp-v2009-view-control.pp-v2014-three-control > button[data-mode][aria-pressed='true'] {
  background: linear-gradient(135deg,#f6d77d,#c99427) !important;
  color: var(--pp-final-navy) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.72) !important;
}

html body .pp-v96-viewbar.pp-v2009-view-control.pp-v2014-three-control > .pp-v2014-back-to-top {
  background: #fff !important;
  color: var(--pp-final-navy) !important;
  border-left-color: var(--pp-final-gold) !important;
}

/* ----------------------------------------------------------------------
   Suite Collection: one uninterrupted supplied white-silk surface.
   ---------------------------------------------------------------------- */

body.pp-v2011-suite,
body.pp-v2011-suite main,
body.pp-v2011-suite .suite-title,
body.pp-v2011-suite .fitter,
body.pp-v2011-suite .panel,
body.pp-v2011-suite .step,
body.pp-v2011-suite .destination-section,
body.pp-v2011-suite .pp-v2004-cabana,
body.pp-v2011-suite .pp-v2004-cabana-photo-crop,
html.pp-v2011-suite-ready body main,
html.pp-v2011-suite-ready body .suite-title,
html.pp-v2011-suite-ready body .fitter,
html.pp-v2011-suite-ready body .panel,
html.pp-v2011-suite-ready body .step,
html.pp-v2011-suite-ready body .destination-section {
  background: transparent !important;
  background-image: none !important;
}

body.pp-v2011-suite .suite-title,
html.pp-v2011-suite-ready body .suite-title {
  border: 0 !important;
  padding-block: clamp(22px,3vw,40px) !important;
}

body.pp-v2011-suite .fitter,
html.pp-v2011-suite-ready body .fitter {
  border-top: 1px solid rgba(210,165,75,.48) !important;
  border-bottom: 1px solid rgba(210,165,75,.38) !important;
}

body.pp-v2011-suite .panel,
html.pp-v2011-suite-ready body .panel {
  border-left: 1px solid rgba(210,165,75,.36) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

body.pp-v2011-suite .option,
body.pp-v2011-suite .sizes button,
body.pp-v2011-suite .qty,
body.pp-v2011-suite .qty button,
body.pp-v2011-suite .qty output,
body.pp-v2011-suite .mini,
html.pp-v2011-suite-ready body .option,
html.pp-v2011-suite-ready body .sizes button,
html.pp-v2011-suite-ready body .qty,
html.pp-v2011-suite-ready body .qty button,
html.pp-v2011-suite-ready body .qty output,
html.pp-v2011-suite-ready body .mini {
  background: rgba(255,255,255,.08) !important;
  color: var(--pp-final-navy) !important;
  border-color: rgba(154,107,33,.55) !important;
  box-shadow: none !important;
}

body.pp-v2011-suite #modelOptions .option img,
html.pp-v2011-suite-ready body #modelOptions .option img {
  height: 142px !important;
  object-fit: cover !important;
  object-position: 50% 8% !important;
  background: transparent !important;
}

body.pp-v2011-suite #colorOptions .option img,
html.pp-v2011-suite-ready body #colorOptions .option img {
  height: 132px !important;
  object-fit: cover !important;
  object-position: 50% 56% !important;
  background: transparent !important;
}

body.pp-v2011-suite .destinations .option img,
html.pp-v2011-suite-ready body .destinations .option img {
  height: 86px !important;
  object-fit: cover !important;
}

body.pp-v2011-suite .sizes button.active,
html.pp-v2011-suite-ready body .sizes button.active {
  background: var(--pp-final-navy) !important;
  color: #fff !important;
  border-color: var(--pp-final-gold) !important;
}

body.pp-v2011-suite .destination-section,
html.pp-v2011-suite-ready body .destination-section {
  padding-top: 34px !important;
}

/* The exact supplied four-model Cabana artwork remains whole. */
body.pp-v2011-suite .pp-v2004-cabana-photo,
html.pp-v2011-suite-ready body .pp-v2004-cabana-photo {
  object-fit: contain !important;
  object-position: center center !important;
  background: transparent !important;
}

body.pp-v2011-suite .pp-v2004-cabana-panel,
html.pp-v2011-suite-ready body .pp-v2004-cabana-panel {
  background: rgba(255,255,255,.32) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

@media (max-width: 760px) {
  html:not(.pp-force-desktop) body.pp-v2011-suite .fitter,
  html.pp-mobile-mode body.pp-v2011-suite .fitter,
  html:not(.pp-force-desktop).pp-v2011-suite-ready body .fitter,
  html.pp-mobile-mode.pp-v2011-suite-ready body .fitter {
    display: grid !important;
    grid-template-columns: minmax(0,42%) minmax(0,58%) !important;
    align-items: start !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  html:not(.pp-force-desktop) body.pp-v2011-suite .room,
  html.pp-mobile-mode body.pp-v2011-suite .room,
  html:not(.pp-force-desktop).pp-v2011-suite-ready body .room,
  html.pp-mobile-mode.pp-v2011-suite-ready body .room {
    position: sticky !important;
    top: 0 !important;
    min-height: 520px !important;
    height: 72vh !important;
    max-height: 720px !important;
  }

  html:not(.pp-force-desktop) body.pp-v2011-suite .room-label,
  html.pp-mobile-mode body.pp-v2011-suite .room-label {
    left: 9px !important;
    top: 10px !important;
    max-width: calc(100% - 18px) !important;
    font-size: 7px !important;
    letter-spacing: .08em !important;
  }

  html:not(.pp-force-desktop) body.pp-v2011-suite .room-label b,
  html.pp-mobile-mode body.pp-v2011-suite .room-label b {
    font-size: 13px !important;
  }

  html:not(.pp-force-desktop) body.pp-v2011-suite .model,
  html.pp-mobile-mode body.pp-v2011-suite .model {
    max-width: 96% !important;
  }

  html:not(.pp-force-desktop) body.pp-v2011-suite .panel,
  html.pp-mobile-mode body.pp-v2011-suite .panel,
  html:not(.pp-force-desktop).pp-v2011-suite-ready body .panel,
  html.pp-mobile-mode.pp-v2011-suite-ready body .panel {
    position: relative !important;
    top: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-height: none !important;
    padding: 12px 9px 96px !important;
    border-left: 1px solid rgba(210,165,75,.42) !important;
    overflow: visible !important;
  }

  html:not(.pp-force-desktop) body.pp-v2011-suite .step,
  html.pp-mobile-mode body.pp-v2011-suite .step {
    margin-bottom: 13px !important;
    padding-bottom: 13px !important;
  }

  html:not(.pp-force-desktop) body.pp-v2011-suite .step h3,
  html.pp-mobile-mode body.pp-v2011-suite .step h3 {
    margin-bottom: 8px !important;
    font-size: 9px !important;
    line-height: 1.25 !important;
  }

  html:not(.pp-force-desktop) body.pp-v2011-suite .grid4,
  html.pp-mobile-mode body.pp-v2011-suite .grid4 {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 6px !important;
    overflow: visible !important;
  }

  html:not(.pp-force-desktop) body.pp-v2011-suite #modelOptions .option img,
  html.pp-mobile-mode body.pp-v2011-suite #modelOptions .option img,
  html:not(.pp-force-desktop) body.pp-v2011-suite #colorOptions .option img,
  html.pp-mobile-mode body.pp-v2011-suite #colorOptions .option img {
    height: 92px !important;
  }

  html:not(.pp-force-desktop) body.pp-v2011-suite .option span,
  html.pp-mobile-mode body.pp-v2011-suite .option span {
    font-size: 7px !important;
    overflow-wrap: anywhere !important;
  }

  html:not(.pp-force-desktop) body.pp-v2011-suite .destinations,
  html.pp-mobile-mode body.pp-v2011-suite .destinations {
    gap: 5px !important;
  }

  html:not(.pp-force-desktop) body.pp-v2011-suite .destinations .option img,
  html.pp-mobile-mode body.pp-v2011-suite .destinations .option img {
    height: 52px !important;
  }

  html:not(.pp-force-desktop) body.pp-v2011-suite .sizes,
  html.pp-mobile-mode body.pp-v2011-suite .sizes {
    display: grid !important;
    grid-template-columns: repeat(3,1fr) !important;
    gap: 5px !important;
  }

  html:not(.pp-force-desktop) body.pp-v2011-suite .sizes button,
  html.pp-mobile-mode body.pp-v2011-suite .sizes button {
    width: 100% !important;
    height: 38px !important;
  }

  html:not(.pp-force-desktop) body.pp-v2011-suite .price,
  html.pp-mobile-mode body.pp-v2011-suite .price {
    font-size: 28px !important;
  }

  html:not(.pp-force-desktop) body.pp-v2011-suite .cta,
  html.pp-mobile-mode body.pp-v2011-suite .cta {
    height: 46px !important;
    font-size: 10px !important;
    letter-spacing: .07em !important;
  }
}

/* ----------------------------------------------------------------------
   Cabana hero: full four-model master, including native phone layout.
   ---------------------------------------------------------------------- */

body.cabana-page .v77-hero {
  background: transparent !important;
}

body.cabana-page .v77-hero > img {
  object-fit: contain !important;
  background: transparent !important;
}

@media (max-width: 760px) {
  body.cabana-page .v77-hero {
    margin-top: 0 !important;
    background: transparent !important;
  }

  body.cabana-page .v77-hero > img {
    background: transparent !important;
  }

  body.cabana-page .v77-hero-copy {
    color: var(--pp-final-navy) !important;
    background: transparent !important;
  }
}

html.pp-mobile-mode body.cabana-page .v77-hero {
  margin-top: 0 !important;
  background: transparent !important;
}

html.pp-mobile-mode body.cabana-page .v77-hero > img {
  object-fit: contain !important;
  background: transparent !important;
}

html.pp-mobile-mode body.cabana-page .v77-hero-copy {
  color: var(--pp-final-navy) !important;
  background: transparent !important;
}

/* ----------------------------------------------------------------------
   Next Collections: no cream panels, waves, or old background fragments.
   ---------------------------------------------------------------------- */

body.next-page,
body.next-page main,
body.next-page .pp-v2026-next-silk-main,
body.next-page .pp-v2026-next-silk-hero,
body.next-page .pp-v2026-next-silk-copy,
body.next-page .pp-v2026-next-silk-media,
body.next-page .pp-v2026-next-silk-section,
body.next-page .pp-v2026-next-silk-section .section-inner,
body.next-page .collection-preview-grid,
body.next-page .noir-next-feature,
body.next-page .private-band {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

body.next-page .pp-v2026-next-silk-main::before,
body.next-page .pp-v2026-next-silk-main::after,
body.next-page .pp-v2026-next-silk-section::before,
body.next-page .pp-v2026-next-silk-section::after,
body.next-page .section.marble::after {
  content: none !important;
  display: none !important;
}

body.next-page .pp-v2026-next-silk-copy .button.outline {
  background: var(--pp-final-gold) !important;
  color: var(--pp-final-navy) !important;
  border-color: var(--pp-final-gold) !important;
}

body.next-page .preview-card,
body.next-page .noir-next-item {
  overflow: hidden !important;
}

body.next-page .preview-card [data-card-link],
body.next-page .preview-card-button {
  position: relative;
  z-index: 2;
}

@media (max-width: 760px) {
  body.next-page .pp-v2026-next-silk-hero,
  body.next-page .collection-preview-grid,
  body.next-page .noir-next-head,
  body.next-page .noir-next-products,
  body.next-page .private-band {
    grid-template-columns: 1fr !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  body.next-page .pp-v2026-next-silk-copy,
  body.next-page .pp-v2026-next-silk-media,
  body.next-page .preview-card,
  body.next-page .noir-next-feature,
  body.next-page .noir-next-item,
  body.next-page .private-band {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body.next-page .pp-v2026-next-silk-copy h1 {
    overflow-wrap: anywhere !important;
  }
}

/* ----------------------------------------------------------------------
   Product/accessory alignment and the approved white/black robe options.
   ---------------------------------------------------------------------- */

body.home-page .accessory-grid,
body.accessories-page .accessory-grid {
  align-items: stretch !important;
}

body.home-page .accessory-card,
body.accessories-page .accessory-card {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
}

body.home-page .accessory-card > img,
body.accessories-page .accessory-card > img {
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  object-fit: cover !important;
  object-position: center !important;
}

body.home-page .accessory-card h3,
body.accessories-page .accessory-card h3 {
  min-height: 2.2em !important;
}

body.home-page .accessory-card button[data-pp110-add],
body.accessories-page .accessory-card button[data-add-cart] {
  margin-top: auto !important;
}

.pp-v2029-robe-color {
  display: grid;
  gap: 5px;
  margin: 8px 0 12px;
  color: var(--pp-final-navy);
  font: 700 9px/1.2 Arial,Helvetica,sans-serif;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.pp-v2029-robe-color select {
  width: 100%;
  min-height: 40px;
  padding: 8px 10px;
  border: 1px solid rgba(154,107,33,.62);
  border-radius: 0;
  background: rgba(255,255,255,.88);
  color: var(--pp-final-navy);
  font: 600 12px/1.2 Arial,Helvetica,sans-serif;
}

body.contact-page .page-hero-media,
body.contact-page .page-hero-media img.pp-v2009-contact-card {
  overflow: hidden !important;
}

body.contact-page .page-hero-media img.pp-v2009-contact-card {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  margin: 0 !important;
}

/* ----------------------------------------------------------------------
   Checkout/order-request form added for the cPanel release.
   ---------------------------------------------------------------------- */

body.pp-checkout-page main.pp-checkout-main {
  width: min(1120px,calc(100% - 32px));
  margin: clamp(28px,5vw,70px) auto 120px;
  padding: clamp(20px,4vw,48px);
  background: rgba(255,255,255,.58);
  border: 1px solid rgba(154,107,33,.46);
  box-shadow: 0 18px 48px rgba(6,27,52,.10);
}

.pp-checkout-main h1 {
  margin: 0 0 8px;
  color: var(--pp-final-navy);
  font-family: 'Bodoni Moda','Bodoni 72','Didot',Georgia,serif;
  font-size: clamp(42px,6vw,76px);
  font-weight: 500;
}

.pp-checkout-intro {
  max-width: 760px;
  color: var(--pp-final-blue);
}

.pp-checkout-layout {
  display: grid;
  grid-template-columns: minmax(0,1.15fr) minmax(340px,.85fr);
  gap: 28px;
  align-items: start;
  margin-top: 30px;
}

.pp-checkout-order,
.pp-order-form {
  padding: 22px;
  background: rgba(255,255,255,.60);
  border: 1px solid rgba(154,107,33,.40);
}

.pp-checkout-order h2,
.pp-order-form h2 {
  margin: 0 0 18px;
  color: var(--pp-final-navy);
  font-family: 'Bodoni Moda','Bodoni 72','Didot',Georgia,serif;
  font-weight: 500;
}

.pp-checkout-item {
  display: grid;
  grid-template-columns: 86px minmax(0,1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 14px 0;
  border-bottom: 1px solid rgba(154,107,33,.28);
}

.pp-checkout-item img {
  width: 86px;
  height: 100px;
  object-fit: cover;
  background: rgba(255,255,255,.72);
}

.pp-checkout-item h3,
.pp-checkout-item p {
  margin: 0 0 5px;
}

.pp-checkout-item p {
  color: #4d5e70;
  font-size: 12px;
}

.pp-checkout-item-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 8px;
}

.pp-checkout-item-actions button {
  width: 30px;
  height: 30px;
  border: 1px solid rgba(154,107,33,.55);
  background: #fff;
  color: var(--pp-final-navy);
  cursor: pointer;
}

.pp-checkout-item-actions .pp-checkout-remove {
  width: auto;
  margin-left: 6px;
  padding-inline: 8px;
  color: #7b2d28;
  font-size: 10px;
  text-transform: uppercase;
}

.pp-checkout-total {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding-top: 18px;
  color: var(--pp-final-navy);
  font-size: 20px;
  font-weight: 800;
}

.pp-order-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 13px;
}

.pp-order-field {
  display: grid;
  gap: 6px;
}

.pp-order-field.full {
  grid-column: 1 / -1;
}

.pp-order-field label {
  color: var(--pp-final-navy);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.pp-order-field input,
.pp-order-field textarea {
  width: 100%;
  min-height: 43px;
  padding: 11px;
  border: 1px solid rgba(6,27,52,.25);
  background: rgba(255,255,255,.92);
  color: var(--pp-final-navy);
  font: inherit;
}

.pp-order-field textarea {
  min-height: 92px;
  resize: vertical;
}

.pp-order-submit {
  width: 100%;
  min-height: 52px;
  margin-top: 16px;
  border: 1px solid var(--pp-final-gold);
  background: var(--pp-final-navy);
  color: #fff;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
  cursor: pointer;
}

.pp-order-submit:disabled {
  cursor: not-allowed;
  opacity: .5;
}

.pp-order-status {
  min-height: 24px;
  margin: 12px 0 0;
  color: #2f6546;
  font-size: 13px;
}

.pp-order-note {
  color: #596879;
  font-size: 11px;
  line-height: 1.5;
}

.pp-checkout-back {
  display: inline-block;
  margin-top: 18px;
  color: var(--pp-final-navy);
  font-weight: 800;
}

@media (max-width: 780px) {
  .pp-checkout-layout,
  .pp-order-fields {
    grid-template-columns: 1fr;
  }

  .pp-order-field.full {
    grid-column: auto;
  }

  .pp-checkout-item {
    grid-template-columns: 72px minmax(0,1fr);
  }

  .pp-checkout-item > strong {
    grid-column: 2;
  }
}
