.sp-calendar{width:100%;margin-top:24px;--sp-cal-line:#ded8ce;color:#24251f}
.sp-calendar [hidden]{display:none!important}
.sp-calendar__settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:24px}
.sp-calendar label{display:flex;flex-direction:column;gap:10px;font-weight:600;font-size:15px}
.sp-calendar select{width:100%;min-height:48px;appearance:none;padding:10px 38px 10px 14px;border:1px solid var(--sp-cal-line);border-radius:12px;background:white url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2324251f' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center;font:inherit}
.sp-calendar__months{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:28px}
.sp-calendar button{font:inherit;cursor:pointer;color:inherit}
.sp-calendar__months button{padding:6px;border:1px solid var(--sp-cal-line);background:#faf8f4;border-radius:12px;min-width:0}
.sp-calendar__months svg{width:100%;display:block}
.sp-calendar__months span{font-size:11px;display:block;margin-top:5px;overflow:hidden;text-overflow:ellipsis}
.sp-calendar button[aria-pressed="true"]{border-color:#285c4b;box-shadow:0 0 0 2px #285c4b;background:#eef6f1}
.sp-calendar__workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:28px;align-items:start}
.sp-calendar__controls,.sp-calendar__sidebar{min-width:0}
.sp-calendar__sidebar-card{position:sticky;top:calc(var(--header-h,80px) + 20px);padding:20px;background:#f6f1e9;border-radius:20px}
.sp-calendar__sidebar{align-self:stretch}
.sp-calendar__purchase{display:grid;gap:14px;margin-top:20px}
.sp-calendar__preview{padding:20px;background:white;border-radius:16px}
.sp-calendar__preview svg{display:block;width:100%;max-width:320px;margin:auto;filter:drop-shadow(0 8px 12px #24251f18);border-radius:12px}
.sp-calendar__navigation{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:16px}
.sp-calendar__navigation button{width:42px;height:42px;background:white;border:1px solid var(--sp-cal-line);border-radius:50%}
.sp-calendar__options h2{font-size:20px;margin:0 0 16px}
.sp-calendar__artwork{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.sp-calendar__artwork button{padding:5px;background:white;border:1px solid var(--sp-cal-line);border-radius:10px;min-width:0;text-align:left}
.sp-calendar__artwork img{aspect-ratio:3/2;object-fit:cover;width:100%;display:block;border-radius:6px}
.sp-calendar__artwork span{font-size:11px;display:block;line-height:1.3;padding:7px 3px 3px}
.sp-calendar__upload{background:#f5f2ec;border-radius:14px;padding:18px;margin-top:24px}
.sp-calendar__upload input{max-width:100%;font-size:14px;font-weight:400}
.sp-calendar__crop{display:grid;gap:14px;margin-top:20px}
.sp-calendar__crop input{width:100%;accent-color:#285c4b}
.sp-calendar__total{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:14px}
.sp-calendar__total strong{font-size:22px}
.sp-calendar [data-sp-calendar-error]{color:#a82d34;font-size:14px;margin:18px 0}
.sp-calendar-form .quantity{display:none!important}
.sp-calendar-handoff{display:block;width:100%;max-width:260px;height:auto;border-radius:10px}
@media(min-width:1120px){.sp-calendar{margin-top:0}.sp-calendar__workspace{display:block}.sp-calendar__controls{padding-top:24px;border-top:1px solid var(--sp-cal-line)}.sp-calendar__sidebar{position:absolute;inset:0 0 0 auto;width:420px}}
@media(min-width:768px) and (max-width:1119px){.sp-calendar__months{grid-template-columns:repeat(4,minmax(0,1fr))}.sp-calendar__artwork{grid-template-columns:repeat(3,minmax(0,1fr))}.sp-calendar__collection{flex-wrap:wrap}.sp-calendar__collection label,.sp-calendar__collection button{width:100%}}
@media(max-width:767px){.sp-calendar__workspace{display:flex;flex-direction:column;gap:24px}.sp-calendar__controls{order:1;width:100%}.sp-calendar__sidebar,.sp-calendar__sidebar-card{display:contents}.sp-calendar__preview{order:0;width:100%;box-sizing:border-box;padding:18px;background:#f6f1e9}.sp-calendar__purchase{order:2;width:100%;box-sizing:border-box;margin-top:0;padding:20px;background:#f6f1e9;border-radius:20px}.sp-calendar__settings{gap:14px}.sp-calendar__months{gap:7px}.sp-calendar__months span{font-size:10px}.sp-calendar__preview svg{max-width:280px}.sp-calendar__artwork{gap:10px}.sp-calendar__options h2{font-size:18px}.sp-calendar__total{align-items:center;margin-top:0;padding-top:0;border-top:0}}

.sp-calendar-form .sp-qty__subtotal{display:none!important}
@media(min-width:700px) and (max-width:1119px){.sp-pd__grid--personalized:has([data-sp-calendar]){grid-template-columns:260px minmax(0,1fr);gap:28px 32px}}
@media(max-width:699px){.sp-pd__grid--personalized:has([data-sp-calendar])>.sp-pd__gallery{width:min(100%,220px)}}
.sp-calendar-form .variations .sp-pd__varfield{margin-bottom:0}
.sp-calendar-form .reset_variations,.sp-calendar-form .woocommerce-variation-price,.sp-calendar-form .woocommerce-variation-description{display:none!important}
.sp-calendar-form .woocommerce-variation:not(:has(.woocommerce-variation-availability:not(:empty))){display:none!important}
.woocommerce .sp-pd__addform form.sp-calendar-form .sp-calendar__purchase button.single_add_to_cart_button.button.alt{float:none;width:100%;min-height:52px;margin:0;padding:14px 24px;background:#17140f;color:white;border:0;border-radius:999px;font:inherit;font-size:16px;font-weight:700;line-height:1.3}
.woocommerce .sp-pd__addform form.sp-calendar-form .sp-calendar__purchase button.single_add_to_cart_button.button.alt:disabled{background:#817e77;opacity:1;cursor:not-allowed}
.sp-calendar label{min-width:0}
.sp-calendar select{box-sizing:border-box;min-width:0}
.sp-calendar-form table.variations[hidden]{display:none!important}
@media(max-width:760px){.sp-calendar select{font-size:14px;padding-left:12px;padding-right:32px;background-position:right 10px center}}

.sp-calendar__collection{display:flex;align-items:end;gap:14px;margin-bottom:18px}
.sp-calendar__collection label{flex:1}
.sp-calendar__collection button{min-height:48px;padding:10px 16px;border:1px solid var(--sp-cal-line);border-radius:12px;background:#f5f2ec;font-size:14px;font-weight:600}
.sp-calendar__collection button:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:420px){.sp-calendar__collection{flex-wrap:wrap;gap:12px}.sp-calendar__collection label,.sp-calendar__collection button{width:100%}}

.sp-calendar__holiday{margin-bottom:20px}
.sp-calendar [data-sp-calendar-holiday-status]{margin:-8px 0 20px;color:#766f65;font-size:14px;line-height:1.4}
.sp-calendar__holiday select:disabled{opacity:.65;cursor:not-allowed}
.sp-calendar__coverage{margin:0 0 20px;color:#766f65;font-size:14px;line-height:1.4}

.sp-pd__grid:has([data-sp-calendar]) .sp-pd__summary-variations{display:grid;gap:18px;margin-top:20px}
.sp-pd__grid:has([data-sp-calendar]) .sp-pd__summary-variations[hidden]{display:none}

.sp-calendar [data-sp-calendar-error].is-info{color:var(--muted,#726b60)}
