:root{--pink:#d96f91;--blush:#fff1f5;--ink:#231f20;--muted:#6c6266;--line:#ead9df;--white:#fff}
*{box-sizing:border-box}.order-page{margin:0;background:linear-gradient(180deg,#fff8fa,#fff);color:var(--ink);font-family:"DM Sans",sans-serif}.order-header{display:flex;align-items:center;justify-content:space-between;padding:16px clamp(18px,4vw,54px);background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.order-brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none}.order-brand img{width:54px;height:54px;border-radius:50%;object-fit:cover}.order-brand span{display:flex;flex-direction:column}.order-brand small{color:var(--muted)}.order-back{color:#8d3554;font-weight:700}.order-shell{max-width:950px;margin:auto;padding:42px 18px 80px}.order-intro{text-align:center;max-width:720px;margin:0 auto 28px}.order-intro h1{font-family:"Playfair Display",serif;font-size:clamp(2.2rem,6vw,4rem);margin:.25rem 0}.progress-wrap{margin:26px auto 0;max-width:560px}.progress-bar{height:10px;background:#f1dce4;border-radius:999px;overflow:hidden}.progress-bar span{display:block;height:100%;width:20%;background:var(--pink);transition:width .25s}.progress-wrap p{font-size:.9rem;color:var(--muted)}.order-card,.success-card{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 22px 60px rgba(84,42,57,.1);padding:clamp(22px,5vw,48px)}.form-step{display:none}.form-step.active{display:block}.form-step h2{font-family:"Playfair Display",serif;font-size:2rem;margin-top:0}.form-step h3{margin-bottom:0}.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px}.choice-card{border:2px solid var(--line);border-radius:18px;padding:18px;cursor:pointer}.choice-card:has(input:checked){border-color:var(--pink);background:var(--blush)}.choice-card input{width:auto;margin:0 8px 0 0}.choice-card span{display:inline-flex;flex-direction:column}.choice-card small{color:var(--muted);margin-top:3px}label{display:block;font-weight:700;margin:16px 0}input,select,textarea{width:100%;margin-top:8px;padding:13px 14px;border:1px solid #d8c8ce;border-radius:12px;font:inherit;background:#fff}textarea{resize:vertical}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.field-note,.field-help{display:block;font-weight:400;color:var(--muted);font-size:.88rem}.field-help{margin:.3rem 0 1rem}.check-row{display:flex;gap:10px;align-items:flex-start;font-weight:500}.check-row input{width:auto;margin-top:4px}.upgrade-fieldset{border:1px solid var(--line);border-radius:18px;padding:18px;margin-top:18px}.upgrade-fieldset legend{font-weight:800;padding:0 8px}.upgrade-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.upgrade-option{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:13px;padding:12px;margin:0;cursor:pointer}.upgrade-option:has(input:checked){border-color:var(--pink);background:var(--blush)}.upgrade-option input{width:auto;margin:0}.upgrade-option span{display:flex;justify-content:space-between;gap:8px;width:100%}.upgrade-option small{color:#9a3e5e}.running-total,.order-total-row{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding:16px 18px;background:var(--blush);border-radius:14px}.running-total strong,.order-total-row strong{font-size:1.3rem;color:#9a3e5e}.policy-box{background:#fff8fa;border:1px solid var(--line);border-radius:16px;padding:18px;margin:20px 0}.policy-box p{margin-bottom:0}.review-panel{background:#fff8fa;border:1px solid var(--line);border-radius:16px;padding:18px}.review-panel dl{display:grid;grid-template-columns:180px 1fr;gap:9px 16px;margin:0}.review-panel dt{font-weight:700}.review-panel dd{margin:0;color:var(--muted);white-space:pre-wrap}.payment-area{border:1px solid #c17791;border-radius:16px;padding:18px;margin-top:20px;background:#fffafc}.payment-area p{color:var(--muted)}#card-container{min-height:90px}.form-actions{display:flex;justify-content:space-between;gap:12px;margin-top:28px}.form-message{margin-top:18px;color:#a11d48;font-weight:700}.success-card{text-align:center}.button{border:0;cursor:pointer;text-decoration:none;display:inline-flex;justify-content:center}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-weight:800;color:#a34565;font-size:.78rem}@media(max-width:700px){.choice-grid,.two-col,.three-col,.upgrade-grid{grid-template-columns:1fr}.order-brand span{display:none}.review-panel dl{grid-template-columns:1fr}.review-panel dd{margin-bottom:8px}.form-actions .button{flex:1}.upgrade-option span{align-items:center}}

.order-header-actions{display:flex;align-items:center;gap:14px}.order-header .header-socials{display:flex;gap:7px}.order-header .header-socials a{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#a83f67;color:#fff}.order-header .header-socials svg{width:17px;height:17px;fill:currentColor}@media(max-width:700px){.order-header{align-items:flex-start;gap:10px}.order-header-actions{flex-direction:column;align-items:flex-end;gap:8px}.order-header .header-socials a{width:30px;height:30px}.order-back{font-size:.85rem}}

/* Revision 4: keep only the correct navigation buttons visible on each step */
.form-actions .button[hidden]{display:none!important}
.form-actions{justify-content:flex-end}
#prevBtn{margin-right:auto}
@media(max-width:700px){
  .form-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .form-actions .button{width:100%;min-height:58px;align-items:center;padding:14px 12px}
  .form-actions .button:only-child{grid-column:1/-1}
  #nextBtn:not([hidden]){grid-column:1/-1}
  #prevBtn:not([hidden]) + #nextBtn:not([hidden]){grid-column:auto}
}
/* Phase 2 smart builder */
.builder-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}.summary-card{position:sticky;top:110px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 15px 40px rgba(84,42,57,.08);padding:20px}.summary-card dl{display:grid;grid-template-columns:1fr auto;gap:8px 12px;margin:0}.summary-card dt{font-weight:700}.summary-card dd{margin:0;text-align:right;color:var(--muted)}.summary-total{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:16px;margin-top:18px}.summary-total strong{color:#9a3e5e;font-size:1.35rem}.empty-summary{color:var(--muted)}
.package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}.package-card{position:relative;border:2px solid var(--line);border-radius:18px;overflow:hidden;margin:0;cursor:pointer;background:#fff}.package-card:has(input:checked){border-color:var(--pink);box-shadow:0 0 0 3px rgba(217,111,145,.15)}.package-card input{position:absolute;opacity:0}.package-card img{width:100%;height:180px;object-fit:cover;display:block}.package-card span{display:flex;justify-content:space-between;gap:8px;padding:13px}.package-card small{color:#9a3e5e;font-weight:800}.product-grid{margin-bottom:24px}
.upgrade-fieldset[hidden],.upgrade-option[hidden]{display:none!important}.braid-row .text-button{margin-top:10px}.text-button{border:0;background:none;color:#9a3e5e;font-weight:800;text-decoration:underline;cursor:pointer;padding:0}.upload-zone{border:2px dashed #d8a4b6;border-radius:16px;padding:18px;text-align:center;background:#fff8fa;cursor:pointer}.upload-zone input{border:0;padding:0}.upload-zone span{display:block;color:var(--muted);font-weight:500;margin-top:8px}.photo-preview{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.photo-preview img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px;border:1px solid var(--line)}
.modal{position:fixed;inset:0;background:rgba(25,14,18,.58);display:grid;place-items:center;padding:20px;z-index:100}.modal[hidden]{display:none}.modal-card{position:relative;max-width:560px;background:#fff;border-radius:22px;padding:32px;box-shadow:0 25px 80px rgba(0,0,0,.25)}.modal-close{position:absolute;right:14px;top:10px;border:0;background:none;font-size:2rem;cursor:pointer}
@media(max-width:980px){.builder-layout{grid-template-columns:1fr}.summary-card{position:static;order:2}.package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.package-grid{grid-template-columns:1fr 1fr}.package-card img{height:145px}.package-card span{display:block}.package-card small{display:block;margin-top:4px}.photo-preview{grid-template-columns:repeat(3,1fr)}}

/* Phase 2 revision 5 */
.price-breakdown{width:100%;display:grid;gap:10px}.price-breakdown>div,.summary-total>div{display:flex;justify-content:space-between;align-items:center;gap:20px}.price-breakdown .grand-total,.summary-grand{border-top:1px solid var(--line);padding-top:12px;margin-top:4px}.add-another-btn{width:100%;margin-top:20px}.review-item{padding:14px 0;border-bottom:1px solid var(--line)}.review-item:last-child{border-bottom:0}.summary-total{display:grid;gap:8px}.summary-total strong{color:#9a3e5e}.order-header-actions{display:flex;align-items:center;gap:16px}@media(max-width:700px){.order-header-actions .header-socials{display:none}.order-back{font-size:.86rem}.form-actions{position:sticky;bottom:0;background:#fff;padding:12px 0;z-index:5}}

/* Website23 order refinements */
.form-step>label{display:block;margin-top:18px}
.order-page.graduation-mode [data-step="3"] .braid-row,.order-page.graduation-mode [data-step="3"] #upgradeSections,.order-page.graduation-mode [data-step="3"] label:has(textarea[name="custom_upgrade_request"]),.order-page.graduation-mode [data-step="3"] label:has(textarea[name="activities"]),.order-page.graduation-mode [data-step="3"] label:has(textarea[name="wording"]),.order-page.graduation-mode [data-step="3"] .upload-zone,.order-page.graduation-mode [data-step="3"] #photoPreview{display:none!important}

/* Website24 refinements */
@media(max-width:980px){.order-card{order:1}.summary-card{order:2;margin-top:20px}}
#gradRibbonFields[hidden],#homeRibbonFields[hidden]{display:none!important}

/* Website24 navigation safeguards */
#prevBtn:not([hidden]){display:inline-flex!important}
@media(max-width:700px){#prevBtn:not([hidden]){display:inline-flex!important;grid-column:1}#prevBtn:not([hidden]) + #nextBtn:not([hidden]){grid-column:2}.summary-card{order:2!important}}

/* Website25: reliable wizard navigation and graduation lei fields */
.form-actions{display:flex!important;align-items:center;gap:12px}
#prevBtn{margin-right:auto}
#prevBtn:not([hidden]){display:inline-flex!important;visibility:visible!important;opacity:1!important}
#nextBtn:not([hidden]),#submitBtn:not([hidden]){display:inline-flex!important}
@media(max-width:700px){
  .form-actions{display:grid!important;grid-template-columns:1fr 1fr!important;padding:12px 0 18px}
  #prevBtn:not([hidden]){grid-column:1!important}
  #nextBtn:not([hidden]),#submitBtn:not([hidden]){grid-column:2!important}
  #nextBtn:not([hidden]):first-child{grid-column:1/-1!important}
}
#accentColorWrap[hidden],#standardLeiColors[hidden],#bloomingFlowerColors[hidden]{display:none!important}

.step-back-top{display:inline-flex;align-items:center;border:0;background:transparent;color:#9a3e5e;font:700 1rem "DM Sans",sans-serif;padding:4px 0 14px;cursor:pointer}
.step-back-top:hover{text-decoration:underline}
@media(max-width:700px){.step-back-top{position:sticky;top:76px;z-index:6;background:#fff;padding:10px 12px;margin:-10px -12px 12px;border-radius:10px}}

/* Website27: keep Back beside Continue at the bottom of each step */
.step-back-top{display:none!important}
.form-actions{display:grid!important;grid-template-columns:1fr 1fr!important;align-items:stretch!important;justify-content:stretch!important;gap:14px!important;margin-top:28px!important}
.form-actions .button{width:100%!important;min-height:58px!important;align-items:center!important;padding:14px 18px!important}
.form-actions #nextBtn:only-child,.form-actions #submitBtn:only-child{grid-column:2!important}
@media(max-width:700px){
  .form-actions{position:sticky!important;bottom:0!important;background:#fff!important;padding:12px 0 18px!important;z-index:8!important}
}

/* Website28: reliable bottom navigation */
.form-actions{grid-template-columns:1fr 1fr!important;}
.form-actions:not(.has-back) #nextBtn:not([hidden]){grid-column:1/-1!important;}
.form-actions.has-back #prevBtn:not([hidden]){display:inline-flex!important;grid-column:1!important;visibility:visible!important;opacity:1!important;}
.form-actions.has-back #nextBtn:not([hidden]),.form-actions.has-back #submitBtn:not([hidden]){grid-column:2!important;}


/* Website30: permanent bottom Back button for every step after Step 1 */
#wizardBackBtn{display:none!important;grid-column:1!important}
#wizardBackBtn.is-visible{display:inline-flex!important;visibility:visible!important;opacity:1!important}
.form-actions:has(#wizardBackBtn.is-visible) #nextBtn:not([hidden]),
.form-actions:has(#wizardBackBtn.is-visible) #submitBtn:not([hidden]){grid-column:2!important}
.form-actions:not(:has(#wizardBackBtn.is-visible)) #nextBtn:not([hidden]){grid-column:1/-1!important}


/* Website31: definitive wizard navigation */
#wizardBackBtn[hidden]{display:none!important}
#wizardBackBtn:not([hidden]){display:inline-flex!important;visibility:visible!important;opacity:1!important;grid-column:1!important}
.form-actions.has-back #nextBtn:not([hidden]),
.form-actions.has-back #submitBtn:not([hidden]){grid-column:2!important}
.form-actions:not(.has-back) #nextBtn:not([hidden]){grid-column:1/-1!important}


/* Website32: reliable step-local navigation and multi-item cart */
.legacy-actions-hidden{display:none!important}
.local-step-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px;align-items:stretch}
.local-step-actions .button{width:100%;min-height:58px;align-items:center;padding:14px 18px}
.local-step-actions.single-action .local-next{grid-column:1/-1}
.local-step-actions [hidden]{display:none!important}
.add-another-btn{font-weight:800}
.add-another-note{margin:.65rem 0 0;color:var(--muted);font-size:.92rem;text-align:center}
@media(max-width:700px){
  .local-step-actions{position:sticky;bottom:0;background:#fff;padding:12px 0 18px;z-index:10}
}

/* Website33: permanent per-step navigation */
.local-step-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px;align-items:stretch}
.local-step-actions .button{width:100%;min-height:58px;align-items:center;padding:14px 18px}
.form-step[data-step="1"] .local-step-actions{grid-template-columns:1fr}
.form-step[data-step="1"] .local-next{grid-column:1}
@media(max-width:700px){.local-step-actions{position:sticky;bottom:0;background:#fff;padding:12px 0 18px;z-index:10}}

/* Website35: make step Back buttons unmistakably visible on light form cards */
.local-step-actions .local-back{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  background:#fff!important;
  color:#a83262!important;
  border:2px solid #a83262!important;
  box-shadow:none!important;
  font-weight:800!important;
}
.local-step-actions .local-back:hover,
.local-step-actions .local-back:focus-visible{
  background:#fff0f6!important;
  color:#8f2853!important;
}

/* Website36 multi-item cart */
.add-another-panel{margin:1.25rem 0;padding:1rem;border:2px solid #d884a7;border-radius:18px;background:#fff7fa;text-align:center}
.add-another-panel p{margin:0 0 .8rem;line-height:1.45}
.add-another-panel .add-another-btn{width:100%;min-height:54px}
.review-item-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.remove-cart-item{border:0;background:transparent;color:#a93263;font-weight:700;text-decoration:underline;padding:.4rem}
@media(max-width:600px){.review-item-heading{align-items:flex-start}.review-item-heading h3{margin-right:.5rem}}

/* Website38: compact collapsible multi-item cart */
.collapsible-review{padding:0;overflow:hidden}
.collapsible-review>summary{list-style:none;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem;cursor:pointer}
.collapsible-review>summary::-webkit-details-marker{display:none}
.collapsible-review>summary>span:first-child{display:flex;flex-direction:column;gap:.3rem;min-width:0}
.collapsible-review>summary strong{font-size:1.05rem;line-height:1.25}
.collapsible-review>summary small{font-size:.9rem;color:#746a70;font-weight:500}
.collapsible-review>dl{padding:0 1.25rem 1.25rem;margin:0}
.review-item-actions{display:flex;gap:.55rem;flex-shrink:0}
.review-item-actions button{appearance:none;border:0;background:transparent;color:#a53061;text-decoration:underline;font:inherit;font-weight:700;padding:.2rem;cursor:pointer}
.customer-review{margin-top:1rem}
@media(max-width:560px){
 .collapsible-review>summary{padding:1rem;gap:.5rem;flex-direction:column}
 .review-item-actions{width:100%;justify-content:flex-end}
 .collapsible-review>dl{padding:0 1rem 1rem}
}

/* Website40 */
.pre-customer-add-panel{margin:1.25rem 0;padding:1.1rem;border:1px solid var(--line);border-radius:16px;background:#fff8fa;text-align:center}.pre-customer-add-panel p{margin:.1rem 0 .8rem;color:var(--muted)}.pre-customer-add-panel .button{width:100%}.review-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:.7rem 1.25rem 1rem}.review-photo-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px;border:1px solid var(--line)}.customer-review-panel{margin-top:1rem}.header-cart-link{display:inline-flex;align-items:center;gap:.35rem;border:1px solid #aa315f;border-radius:999px;padding:.5rem .75rem;color:#9d2856;text-decoration:none;font-weight:800;background:#fff}.cart-count{display:inline-grid;place-items:center;min-width:1.35rem;height:1.35rem;padding:0 .3rem;border-radius:999px;background:#d94682;color:#fff;font-size:.72rem}#runningRushRow[hidden],#reviewRushRow[hidden]{display:none!important}@media(max-width:700px){.order-header-actions{gap:.45rem}.header-cart-link{font-size:.75rem;padding:.4rem .55rem}.review-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-left:1rem;margin-right:1rem}}

/* Website41: reliable Add Another Item control */
.pre-customer-add-panel .add-before-customer{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:60px!important;padding:15px 20px!important;border:2px solid #a72f5d!important;border-radius:999px!important;background:#d96791!important;color:#fff!important;font:800 1rem/1.2 'DM Sans',sans-serif!important;cursor:pointer!important;pointer-events:auto!important;position:relative!important;z-index:5!important;opacity:1!important;-webkit-appearance:none!important;appearance:none!important;box-shadow:0 14px 28px rgba(185,70,112,.22)!important}.pre-customer-add-panel .add-before-customer:active{transform:translateY(1px)}.pre-customer-add-panel .add-before-customer:focus-visible{outline:3px solid rgba(217,70,130,.3);outline-offset:3px}

/* Website50: temporary production notice while online checkout is unavailable */
.ordering-soon {
  text-align: center;
  padding: 1.5rem;
  border: 2px solid currentColor;
  border-radius: 16px;
}
.ordering-soon strong {
  display: block;
  font-size: 1.25rem;
  margin-bottom: .5rem;
}
.ordering-soon p {
  margin: .5rem 0 1rem;
}

/* Website51: unmistakable temporary ordering notice */
.order-coming-banner{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;gap:.45rem 1rem;align-items:center;margin-bottom:1.25rem;padding:1.25rem 1.4rem;border:2px solid #a83262;border-radius:18px;background:#fff2f7;box-shadow:0 12px 30px rgba(168,50,98,.12)}.order-coming-banner strong{font-size:1.35rem;color:#8f2853}.order-coming-banner span{grid-column:1;line-height:1.55;color:#5f4b54}.order-coming-banner .button{grid-column:2;grid-row:1/3;white-space:nowrap}@media(max-width:760px){.order-coming-banner{grid-template-columns:1fr;text-align:center}.order-coming-banner span,.order-coming-banner .button{grid-column:1;grid-row:auto}.order-coming-banner .button{width:100%;margin-top:.5rem}}
