/* Sultan Gifting. Inherits the theme's tokens via .sd-page, with fallbacks
   so the builder still looks right if the theme is ever swapped. */
.sg-builder,.sg-corp{
  max-width:1240px!important;
  --p:#FCFAF6;--p2:#F3F2EA;--p3:#E9ECE1;--fg:#101A0A;--mut:rgba(16,26,10,.90);
  --sage:#55614F;--gold:#A48544;--goldd:#7A5F24;--hair:rgba(122,95,36,.42);--soft:rgba(20,30,13,.20);
  --dsp:Prata,Georgia,serif;--bd:Jost,system-ui,sans-serif;--mn:'IBM Plex Mono',monospace;
  --e:cubic-bezier(.22,.75,.28,1);
  color:var(--fg);font-family:var(--bd);font-size:16px;line-height:1.6;
  max-width:1240px;margin-inline:auto;padding-inline:clamp(20px,5vw,64px);padding-block:clamp(30px,3.6vw,52px)}
.sg-builder *,.sg-corp *{box-sizing:border-box}
.sg-builder p,.sg-corp p,.sg-builder h2,.sg-corp h2,.sg-builder h3,.sg-corp h3{margin:0}
.sd-m{font-family:var(--mn);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--sage)}

.sg-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(26px,3.6vw,60px);align-items:start}
.sg-step{border-top:1px solid var(--soft);padding-block:26px}
.sg-step:first-child{border-top:0;padding-top:4px}
.sg-h{display:flex;align-items:baseline;gap:13px;margin-bottom:18px}
.sg-h .n{font-family:var(--mn);font-size:10px;letter-spacing:.2em;color:var(--goldd);flex:none}
.sg-h h2{font-family:var(--dsp);font-weight:400;font-size:21px;letter-spacing:-.01em}
.sg-h .hint{margin-left:auto;font-family:var(--mn);font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--sage)}
.sg-lbl{display:block;margin:22px 0 10px!important}
.sg-step:first-child .sg-lbl:first-of-type{margin-top:0!important}

.sg-opts{display:flex;border:1px solid var(--hair);flex-wrap:wrap}
.sg-opts button{flex:1 1 90px;padding:14px 8px;font-family:var(--mn);font-size:10.5px;letter-spacing:.12em;
  text-transform:uppercase;border:0;border-right:1px solid var(--hair);background:none;cursor:pointer;
  color:var(--fg);transition:background .3s,color .3s}
.sg-opts button:last-child{border-right:0}
.sg-opts button[aria-pressed="true"]{background:var(--gold);color:#14100A}
.sg-opts button .sub{display:block;font-size:9px;opacity:.72;margin-top:3px}

.sg-list{display:grid;gap:1px;background:var(--soft);border:1px solid var(--soft)}
.sg-row{background:var(--p);display:flex;align-items:center;gap:14px;padding:12px 15px;
  transition:background .3s;text-align:left;width:100%;border:0;font:inherit;color:inherit}
.sg-row.on{background:var(--p2)}
.sg-row .sw,.sg-row .ic{width:34px;flex:none;display:grid;place-items:center}
.sg-row .nm{flex:1;min-width:0}
.sg-row .nm b{display:block;font-family:var(--dsp);font-weight:400;font-size:16.5px}
.sg-row .nm span{font-family:var(--mn);font-size:9.5px;letter-spacing:.1em;color:var(--sage)}
.sg-row .p{font-family:var(--mn);font-size:10.5px;color:var(--goldd);flex:none}
.sg-row.ck{cursor:pointer}
.sg-row .tick{width:17px;height:17px;border:1px solid var(--hair);flex:none;display:grid;place-items:center;
  font-size:11px;color:transparent;transition:all .28s}
.sg-row.on .tick{background:var(--gold);border-color:var(--gold);color:#14100A}
.sg-addbtn{font-family:var(--mn);font-size:10px;letter-spacing:.13em;text-transform:uppercase;padding:8px 14px;
  border:1px solid var(--soft);background:none;cursor:pointer;color:var(--mut);transition:all .28s}
.sg-addbtn:hover:not([disabled]){border-color:var(--gold);color:var(--fg)}
.sg-addbtn[disabled]{opacity:.35;cursor:not-allowed}
.sg-qty{display:flex;align-items:center;border:1px solid var(--hair)}
.sg-qty button{width:34px;height:36px;border:0;background:none;cursor:pointer;font-size:15px;color:inherit;transition:color .25s}
.sg-qty button:hover:not([disabled]){color:var(--goldd)}
.sg-qty button[disabled]{opacity:.3;cursor:not-allowed}
.sg-qty span{min-width:56px;text-align:center;font-family:var(--mn);font-size:11px}

.sg-ribbons{display:flex;gap:10px}
.sg-ribbons button{width:46px;height:46px;border:1px solid var(--soft);display:grid;place-items:center;
  background:none;cursor:pointer;transition:all .28s}
.sg-ribbons button i{width:26px;height:26px;display:block;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.18)}
.sg-ribbons button[aria-pressed="true"]{border-color:var(--gold);box-shadow:0 0 0 3px rgba(164,133,68,.16)}
.sg-msg{width:100%;border:1px solid var(--soft);background:transparent;padding:14px 15px;min-height:92px;
  resize:vertical;font:inherit;font-size:15.5px;line-height:1.6;color:inherit;transition:border-color .3s}
.sg-msg:focus{border-color:var(--gold);outline:none}
.sg-cc{display:flex;justify-content:space-between;margin-top:8px}

.sg-fld{display:block;margin-bottom:12px}
.sg-fld .sd-m{display:block;margin-bottom:6px}
.sg-fld input,.sg-fld textarea{width:100%;border:1px solid var(--soft);padding:13px 14px;font:inherit;
  font-size:15.5px;background:transparent;color:inherit;transition:border-color .3s}
.sg-fld input:focus,.sg-fld textarea:focus{border-color:var(--gold);outline:none}
.sg-f2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sg-slider{display:flex;align-items:center;gap:16px}
.sg-slider input[type=range]{-webkit-appearance:none;appearance:none;flex:1;height:2px;background:var(--hair);cursor:pointer}
.sg-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--gold);border:0}
.sg-slider input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--gold);border:0}
.sg-slider .bigno{font-family:var(--dsp);font-size:32px;line-height:1;min-width:88px;text-align:right}
.sg-lead{margin-top:12px;display:flex;gap:10px;align-items:flex-start;font-size:14.5px;line-height:1.5;color:var(--mut)}
.sg-lead .pip{width:8px;height:8px;border-radius:50%;flex:none;margin-top:7px}
.sg-lead .ok{background:#3F6B3A}.sg-lead .warn{background:#9A6B25}
.sg-lead .bad{background:#8E3B2E}.sg-lead .sage{background:var(--sage)}

.sg-side{position:sticky;top:96px}
.sg-pv{border:1px solid var(--hair);background:var(--p2);padding:clamp(20px,2.4vw,28px)}
.sg-pv h3{font-family:var(--dsp);font-weight:400;font-size:20px;margin-bottom:4px}
.sg-stage{display:grid;place-items:center;min-height:240px}
.sg-empty{font-family:var(--mn);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--sage);text-align:center;line-height:2.2}
.sg-exrow{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:16px;padding-top:15px;border-top:1px dashed var(--soft)}
.sg-exchip{display:flex;flex-direction:column;align-items:center;gap:6px}
.sg-exchip .q{font-family:var(--mn);font-size:9.5px;letter-spacing:.1em;color:var(--sage)}
.sg-lines{margin-top:20px;padding-top:16px;border-top:1px solid var(--soft)}
.ln{display:flex;justify-content:space-between;gap:14px;padding-block:7px;font-size:14px;color:var(--mut)}
.ln b{font-weight:400;color:var(--fg);font-family:var(--mn);font-size:12px}
.ln.sub{font-family:var(--mn);font-size:9.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--sage);padding-block:4px;margin-top:8px}
.ln.disc b{color:#3F6B3A}
.sg-tot{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-top:12px;padding-top:15px;border-top:1px solid var(--hair)}
.sg-tot .amt{font-family:var(--dsp);font-size:clamp(25px,3vw,34px);color:var(--goldd)}
.sg-per{margin-top:8px!important}
.sg-add{width:100%;justify-content:center;margin-top:20px}
.sg-add[disabled]{opacity:.4;pointer-events:none}
.sg-note{margin-top:16px!important;font-family:var(--mn);font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--sage);line-height:2}

.sg-occ{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px}
.sg-occ button{font-family:var(--mn);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;padding:10px 17px;
  border:1px solid var(--soft);background:none;cursor:pointer;color:var(--mut);transition:all .28s}
.sg-occ button:hover{border-color:var(--gold);color:var(--fg)}
.sg-occ button[aria-pressed="true"]{background:#1A361C;border-color:#1A361C;color:#F2EDE1}

/* ---------------- payment instructions on the thank-you page ---------------- */
.sg-pay{max-width:760px;margin:32px auto 0;padding-inline:clamp(20px,5vw,64px)}
.sg-pay h2{font-family:Prata,Georgia,serif;font-weight:400;font-size:26px;margin:0 0 12px}
.sg-acct{border:1px solid rgba(122,95,36,.42);background:#F3F2EA;margin:16px 0}
.sg-acct .ar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 14px;border-bottom:1px solid rgba(20,30,13,.14)}
.sg-acct .ar:last-child{border-bottom:0}
.sg-acct .k{font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#55614F}
.sg-acct .v{font-family:'IBM Plex Mono',monospace;font-size:13.5px}
.sg-hold{font-size:14px;color:rgba(16,26,10,.9);margin:14px 0}
.sg-warn{border-left:3px solid #8E3B2E;padding-left:14px}
.sg-ok{border-left:3px solid #3F6B3A;padding-left:14px}
.sg-up{display:block;border:1px dashed rgba(122,95,36,.42);padding:18px;text-align:center;cursor:pointer;margin-bottom:14px;transition:border-color .3s}
.sg-up:hover{border-color:#A48544}
.sg-up input{display:block;margin:0 auto 10px}
.sg-up b{display:block;font-weight:400;font-size:15px}
.sg-up span{font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:#55614F}
.sg-save{font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;
  background:#A48544;color:#14100A;padding:3px 8px;margin-left:8px}

@media(max-width:980px){
  .sg-grid{grid-template-columns:1fr}
  .sg-side{position:static;order:-1}
}
@media(max-width:620px){
  .sg-f2{grid-template-columns:1fr}
  .sg-row{flex-wrap:wrap}
  .sg-slider .bigno{font-size:26px;min-width:70px}
}
@media(prefers-reduced-motion:reduce){.sg-builder *,.sg-corp *{transition-duration:.001ms!important}}

/* grid children must be allowed to shrink or the sidebar overflows the viewport */
.sg-grid>*{min-width:0}
.sg-side,.sg-form{min-width:0}
.sg-pv{overflow:hidden}
.sg-fail{border:1px dashed rgba(122,95,36,.42);padding:22px;font-size:15.5px;line-height:1.6}
.sg-fail a{color:#7A5F24}
