/** Shopify CDN: Minification failed

Line 231:14 Expected identifier but found whitespace
Line 231:16 Unexpected "{"
Line 231:26 Expected ":"
Line 231:42 Expected ":"
Line 735:0 Expected "}" to go with "{"

**/
/* ==========================================================
   section-password.css — Apple-ish Password Page (Launch Ready)

   ✅ Drop-in stylesheet for Shopify password page
   ✅ Apple.com-inspired: calm typography, soft neutrals, card UI
   ✅ Keeps Dawn-like classnames: .password, .password-header,
      .password-modal__content, .password-form, .password__footer
      
   Notes:
   - Uses system font stack (macOS/iOS will look very Apple by default)
   - Supports reduced motion & accessible focus rings
   - Does not require changing HTML
   ========================================================== */

/* ------------------------------
   0) Design tokens
   ------------------------------ */
:root{
  /* Typography */
  --pp-font: system-ui, -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", Arial, sans-serif;

  /* Apple-ish neutrals */
  --pp-bg: 245 245 247;        /* #f5f5f7 */
  --pp-card: 255 255 255;      /* #ffffff */
  --pp-border: 210 210 215;    /* #d2d2d7 */
  --pp-text: 29 29 31;         /* #1d1d1f */
  --pp-subtext: 110 110 115;   /* #6e6e73 */
  --pp-hairline: 0 0 0;        /* hairline overlay if needed */
--apple-bg: rgba(255, 255, 255, 0.72);
    --apple-blur: 20px;
    --apple-border: rgba(0, 0, 0, 0.05);
    --apple-text: #1d1d1f;
    --apple-link: #0066cc;
    --apple-input-bg: #f5f5f7;
    --apple-radius: 12px;
    --apple-btn-radius: 999px;
    --apple-shadow: 0 10px 30px rgba(0,0,0,0.08);
  /* Apple blue */
  --pp-blue: 0 113 227;        /* #0071e3 */
  --pp-blue-hover: 0 119 237;  /* #0077ed */

  /* Radii */
  --pp-radius-card: 18px;
  --pp-radius-input: 12px;
  --pp-radius-pill: 999px;

  /* Shadows (subtle, Apple-like) */
  --pp-shadow-1: 0 1px 2px rgba(0,0,0,.04);
  --pp-shadow-2: 0 8px 24px rgba(0,0,0,.08);

  /* Spacing */
  --pp-page-pad-x: 24px;
  --pp-page-pad-x-lg: 50px;
  --pp-max-width: 980px;

  /* Focus */
  --pp-focus: rgba(0,113,227,.18);
  --pp-focus-border: rgba(0,113,227,.70);

  /* Motion */
  --pp-ease: cubic-bezier(.2,.8,.2,1);
}

/* Keep Dawn convention if present; otherwise this is fine */
@media screen and (min-width: 750px){
  body{
    font-size: 1.7rem;
    line-height: 1.47059;
  }
}

@media screen and (max-width: 749px){
  body{
    font-size: 1.6rem;
    line-height: 1.47;
  }
}

*, *::before, *::after{
  box-sizing: border-box;
}

img, svg{
  max-width: 100%;
  height: auto;
}

a{
  color: inherit;
}

hr{
  margin: 0 !important;
  border: 0;
  height: 1px;
  background: rgba(0,0,0,.06);
}

/* Hide Shopify name helper element but keep accessible */
.shopify-name{
  overflow: hidden;
  position: absolute;
  height: 1px;
  width: 1px;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  white-space: nowrap;
}

/* ------------------------------
   2) Layout containers
   ------------------------------ */
.full-height{
  height: 100%;
}

.password{
  background-color: rgb(var(--pp-bg));
  height: 100%;
  display: flex;
  flex-direction: column;
}

.password-main{
  flex-grow: 1;
}

.password-main > section:only-child{
  height: 100%;
}

.password-main > section:only-child > .newsletter{
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  margin-top: 0;
}

.password-main > section:only-child .newsletter__wrapper:not(.email-signup-banner__box){
  width: 100%;
}

.password-main > section:only-child > :not(.newsletter--narrow) > .newsletter__wrapper{
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* ------------------------------
   3) Header (Apple-ish)
   ------------------------------ */
.password-header-section {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  }

  .password-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 32px;
    background-color: var(--apple-bg);
    backdrop-filter: blur(var(--apple-blur));
    -webkit-backdrop-filter: blur(var(--apple-blur));
    border-bottom: 1px solid var(--apple-border);
    transition: all 0.3s ease;
  }

@media only screen and (min-width: 750px){
  .password-header{
    display: grid;
    gap: 24px;
    grid-template-columns: 1fr 1.5fr 1fr;
    padding: 32px var(--pp-page-pad-x-lg) 24px;
    text-align: left;
    align-items: center;
  }
}

.password-content{
  text-align: center;
}

@media only screen and (max-width: 749px){
  .password-content{
    margin-bottom: 18px;
    margin-top: 10px;
  }
}

.password-logo{
  width: 100%;
  margin-bottom: 12px;
}

@media only screen and (min-width: 750px){
  .password-logo{
    margin-bottom: 0;
  }
}

.icon-shopify{
  width: 7rem;
  height: 2rem;
  vertical-align: top;
  color: rgb(var(--pp-text));
}

/* Align password modal trigger area on desktop */
password-modal{
  justify-self: flex-end;
  grid-column: 3;
}
/* Logo Styling */
  .password-logo {
    max-width: {{ settings.logo_width }}px;
    height: auto;
    display: block;
    transition: opacity 0.3s;
  }
  
  .password-logo:hover {
    opacity: 0.8;
  }

  .h2.shop-name {
    font-size: 20px;
    font-weight: 600;
    color: var(--apple-text);
    margin: 0;
    letter-spacing: -0.02em;
  }
/* ------------------------------
   4) Links (Apple blue)
   ------------------------------ */
/* Password Trigger Button (Pill Shape) */
  .password-link {
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(0,0,0,0.05);
    color: var(--apple-text);
    padding: 8px 16px;
    border-radius: var(--apple-btn-radius);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    text-decoration: none;
  }

  .password-link:hover {
    background: rgba(0,0,0,0.1);
    transform: scale(1.02);
  }

  .svg-wrapper svg {
    width: 12px;
    height: 12px;
    fill: currentColor;
  }

  /* --- Modal Styling --- */
  .password-modal {
    /* Reset details behavior */
  }

  .password-modal[open] .modal__toggle::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.4);
    backdrop-filter: blur(5px);
    z-index: 9998;
    animation: fadeIn 0.3s ease;
  }

/* ------------------------------
   5) Modal shell (details modal)
   ------------------------------ */
.modal__toggle,
.modal__close-button{
  list-style-type: none;
}

/* top-right close */
details[open] .modal__toggle,
.modal__close-button{
  position: absolute;
  top: 2.2rem;
  right: 2.2rem;
  padding: 0.8rem;
  color: rgb(var(--pp-text));
  background-color: transparent;
  border-radius: var(--pp-radius-pill);
}

.modal__toggle::-webkit-details-marker{
  display: none;
}

details.modal .modal__toggle-close{
  display: none;
}

details[open].modal .modal__toggle-close{
  background: rgba(255,255,255,.72);
  -webkit-backdrop-filter: saturate(180%) blur(18px);
  backdrop-filter: saturate(180%) blur(18px);
  border: 1px solid rgba(0,0,0,.08);
  cursor: pointer;
  display: flex;
  padding: 0.8rem;
  z-index: 1;
}

details[open].modal .modal__toggle-close:hover{
  opacity: 0.88;
}

details[open].modal .modal__toggle-close svg,
.modal__close-button .svg-wrapper{
  height: 1.7rem;
  width: 1.7rem;
}

.js details[open].modal .modal__toggle-close{
  display: none;
}

details.modal .modal__toggle-open{
  display: flex;
}

.password-modal .icon-close{
  color: rgb(var(--pp-text));
  height: 1.2rem;
  width: 1.2rem;
  stroke-width: 0.1rem;
}
/* ------------------------------
   6) Modal content (card UI)
   ------------------------------ */

/* Ensure absolute close button anchors correctly */
.modal__content{
  position: relative;
}

.password-modal__content{
  position: relative;
  padding: 48px 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  height: 100%;
}

/* Neutralize theme gradient wrappers on password page */
.password.gradient,
.password .gradient{
  background: rgb(var(--pp-bg)) !important;
}

/* Ensure color scheme wrappers don't override Apple neutrals */
.password .color-scheme-1,
.password [class*="color-scheme"],
.password [class^="color-scheme"],
.password [class^="color-"],
.password [class*=" color-"]{
  background: transparent;
}

/* constrain and create Apple card */
.password-modal__content > *{
  max-width: 44rem;
  width: 100%;
}


.password-modal__content .password-form{
  background: rgb(var(--pp-card));
  border: 1px solid rgb(var(--pp-border));
  border-radius: var(--pp-radius-card);
  padding: 20px;
  box-shadow: var(--pp-shadow-1), var(--pp-shadow-2);
}

.password-modal__content-heading{
  font-size: 2.1rem;
  font-weight: 600;
  line-height: 1.285;
  letter-spacing: -0.02em;
  margin: 0 0 10px;
}

@media only screen and (min-width: 750px){
  .password-modal__content-heading{
    font-size: 2.2rem;
  }
}

.password-heading{
  margin-top: 16px;
  font-weight: 600;
  letter-spacing: -0.02em;
}
.modal__content {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #fff;
    padding: 40px;
    border-radius: 24px;
    box-shadow: var(--apple-shadow);
    width: 90%;
    max-width: 440px;
    z-index: 9999;
    text-align: center;
    border: 1px solid rgba(0,0,0,0.05);
    animation: scaleIn 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  }

  .password-modal__content-heading {
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 24px;
    letter-spacing: -0.03em;
    color: #000;
  }

  .modal__close-button {
    position: absolute;
    top: 20px;
    right: 20px;
    background: none;
    border: none;
    cursor: pointer;
    color: #86868b;
    padding: 5px;
    border-radius: 50%;
    transition: background 0.2s;
  }
  
  .modal__close-button:hover {
    background: #f5f5f7;
    color: #000;
  }
/* ------------------------------
   7) Form layout
   ------------------------------ */
.password-modal .password-form{
  max-width: 50rem;
}

/* Some themes put .password-form on the <form> and .password-button on the <button> */
.password-form{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 18px;
  margin-bottom: 10px;
  width: 100%;
  gap: 12px;
}

/* Form Elements */
  .password-field {
    margin-bottom: 16px;
    position: relative;
  }

.password-field .form__message{
  margin-top: 1.5rem;
  color: rgb(var(--pp-subtext));
}

/* Inputs (supports Dawn classes + generic) */
.password-form input[type="password"],
.password-form input[type="text"],
.password-form input[type="email"],
.password-form .field__input,
.password-form .input__field,
.password-form .field input{
  width: 100%;
  border-radius: var(--pp-radius-input);
  border: 1px solid rgb(var(--pp-border));
  background: rgb(var(--pp-card));
  color: rgb(var(--pp-text));
  padding: 12px 12px;
  font-size: 1.7rem;
  line-height: 1.47;
  outline: none;
  transition: border-color .15s var(--pp-ease), box-shadow .15s var(--pp-ease);
}

.password-form input::placeholder,
.password-form .field__input::placeholder{
  color: rgba(110,110,115,.72);
}

.password-form input:focus,
.password-form .field__input:focus,
.password-form .field input:focus{
  border-color: var(--pp-focus-border);
  box-shadow: 0 0 0 4px var(--pp-focus);
}

/* Button spacing (covers both wrapper-div and button-as-self) */
.password-button{
  margin-top: 10px;
  width: 100%;
}

@media only screen and (max-width: 749px){
  .password-field--error + .password-button{
    margin-top: 1.5rem;
  }
}

@media only screen and (min-width: 750px){
  .password-button{
    margin-top: 0;
    margin-left: 0;
    width: auto;
    align-self: start;
  }
}

/* Primary submit button (supports:
   A) <div class="password-button"><button>...
   B) <button class="password-button button ...">...
*/
.password-button,
.password-button.button,
.password-form button.password-button,
.password-button button,
.password-button .button,
.password-form button[type="submit"]{
  appearance: none;
  border: 0;
  border-radius: var(--pp-radius-pill);
  padding: 11px 18px;
  font-weight: 600;
  font-size: 1.6rem;
  line-height: 1.2;
  background: rgb(var(--pp-blue));
  color: #fff;
  cursor: pointer;
  transition: transform .06s var(--pp-ease), background-color .15s var(--pp-ease), box-shadow .15s var(--pp-ease);
  box-shadow: 0 1px 2px rgba(0,0,0,.10);
}

.field__input {
    width: 100%;
    padding: 16px;
    background-color: var(--apple-input-bg);
    border: 1px solid transparent;
    border-radius: var(--apple-radius);
    font-size: 16px; /* Prevents zoom on iOS */
    color: #1d1d1f;
    outline: none;
    transition: border-color 0.2s, background-color 0.2s;
  }

  .field__input:focus {
    background-color: #fff;
    border-color: #0071e3;
    box-shadow: 0 0 0 4px rgba(0,113,227, 0.1);
  }

  .field__input::placeholder {
    color: #86868b;
  }


.field__label {
    display: none; /* Apple style prefers clean placeholders usually */
  }

/* Submit Button */
  .password-button {
    width: 100%;
    padding: 14px;
    background: #0071e3; /* Apple Blue */
    color: white;
    border: none;
    border-radius: var(--apple-radius);
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s;
  }

  .password-button:hover {
    background: #0077ED;
  }

.password-button:hover,
.password-button.button:hover,
.password-form button.password-button:hover,
.password-button button:hover,
.password-button .button:hover,
.password-form button[type="submit"]:hover{
  background: rgb(var(--pp-blue-hover));
}

.password-button:active,
.password-button.button:active,
.password-form button.password-button:active,
.password-button button:active,
.password-button .button:active,
.password-form button[type="submit"]:active{
  transform: translateY(1px);
}

.password-button:focus-visible,
.password-button.button:focus-visible,
.password-form button.password-button:focus-visible,
.password-button button:focus-visible,
.password-button .button:focus-visible,
.password-form button[type="submit"]:focus-visible{
  outline: none;
  box-shadow: 0 0 0 4px var(--pp-focus);
}

/* Secondary links / help text inside form */
.password-form a{
  color: rgb(var(--pp-blue));
  text-decoration: none;
}

.password-form a:hover{
  text-decoration: underline;
}

/* Errors */
  .form__message {
    font-size: 13px;
    color: #ff3b30; /* Apple Red */
    margin-top: 8px;
    display: flex;
    align-items: center;
    gap: 5px;
    justify-content: center;
  }
.password__footer{
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 32px;
  background-color: rgb(var(--pp-bg));
  color: rgb(var(--pp-subtext));
}
.password__footer-text {
    margin-top: 24px;
    display: block;
    color: #86868b;
    font-size: 12px;
  }
  
  .password__footer-text a {
    color: #86868b;
    text-decoration: underline;
  }

  /* Animations */
  @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
  @keyframes scaleIn { from { opacity: 0; transform: translate(-50%, -48%) scale(0.96); } to { opacity: 1; transform: translate(-50%, -50%) scale(1); } }

  /* Utilities */
  .modal__toggle { list-style: none; }
  .modal__toggle::-webkit-details-marker { display: none; }
  
  @media screen and (max-width: 750px) {
    .password-header { pad

/* Improve keyboard focus visibility */
:focus-visible{
  outline: none;
}

/* If theme uses global focus styles, we keep ours local in form */

/* ------------------------------
   10) Optional: dark-mode friendliness
   (keeps Apple calm; won’t break light mode)
   ------------------------------ */
@media (prefers-color-scheme: dark){
  :root{
    --pp-bg: 22 22 24;
    --pp-card: 28 28 30;
    --pp-border: 60 60 67;
    --pp-text: 245 245 247;
    --pp-subtext: 174 174 178;
    --pp-focus: rgba(0,113,227,.28);
    --pp-focus-border: rgba(0,113,227,.75);
  }

  body{
    background: rgb(var(--pp-bg));
    color: rgb(var(--pp-text));
  }

  hr{
    background: rgba(255,255,255,.08);
  }

  details[open].modal .modal__toggle-close{
    background: rgba(28,28,30,.78);
    border: 1px solid rgba(255,255,255,.10);
  }
