/* TRESORA static shop: cart drawer, quantity steppers, product pages. Matches the Horizon theme palette. */
@font-face{font-family:"Cormorant";src:url(../fonts/cormorant_n4.bd66e8e0031690b46374315bd1c15a17a8dcd450-ee57f7.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Cormorant";src:url(../fonts/cormorant_n7.c51184f59f7d2caf4999bcef8df2fc4fc4444aec-7b0241.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Josefin Slab";src:url(../fonts/josefinslab_n4.5eb436383dc79c43d62e801d55f2f91b003f4e44-7a99de.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Josefin Slab";src:url(../fonts/josefinslab_n7.6d1e7a605b286770cc71d43c22f682756a3a8ef3-06aef0.woff2) format("woff2");font-weight:700;font-display:swap}
:root{--tc-bg:#dcc9bf;--tc-panel:#eae5df;--tc-ink:#2b2224;--tc-muted:rgba(43,34,36,.65);--tc-line:rgba(43,34,36,.18);--tc-btn:#333;--tc-btn-ink:#f4eee9;
  --tc-head:"Cormorant",serif;--tc-body:"Josefin Slab",serif}

/* ---- buttons / steppers ---- */
.tc-button{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:48px;padding:0 28px;border:0;border-radius:14px;
  background:var(--tc-btn);color:var(--tc-btn-ink);font:400 17px/1 var(--tc-body);letter-spacing:.02em;cursor:pointer;text-decoration:none;transition:opacity .2s}
.tc-button:hover{opacity:.88}.tc-button:disabled{opacity:.45;cursor:not-allowed}
.tc-link{color:var(--tc-ink);font-family:var(--tc-body);text-underline-offset:3px;background:none;border:0;padding:0;cursor:pointer;font-size:15px}
.tc-qty{display:inline-flex;align-items:center;border:1px solid var(--tc-line);border-radius:999px;background:rgba(255,255,255,.35);height:38px}
.tc-qty button{width:36px;height:100%;border:0;background:none;color:var(--tc-ink);font:400 18px/1 var(--tc-body);cursor:pointer;border-radius:999px}
.tc-qty button:disabled{opacity:.35;cursor:default}
.tc-qty input,.tc-qty output{width:34px;text-align:center;border:0;background:none;color:var(--tc-ink);font:400 16px/1 var(--tc-body);-moz-appearance:textfield;appearance:textfield}
.tc-qty input::-webkit-inner-spin-button,.tc-qty input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}

/* ---- header bubble on homepage (theme markup) ---- */
.cart-bubble.tc-has-items{position:absolute}

/* ---- drawer ---- */
.tc-overlay{position:fixed;inset:0;background:rgba(30,22,24,.35);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;z-index:2147483000}
.tc-drawer{position:fixed;top:0;right:0;height:100%;height:100dvh;width:min(440px,100vw);background:var(--tc-bg);color:var(--tc-ink);z-index:2147483001;
  display:flex;flex-direction:column;transform:translateX(100%);transition:transform .35s cubic-bezier(.2,.7,.2,1),visibility .35s;visibility:hidden;
  box-shadow:-12px 0 40px rgba(0,0,0,.12);font-family:var(--tc-body)}
.tc-open .tc-overlay{opacity:1;visibility:visible}.tc-open .tc-drawer{transform:none;visibility:visible}
html.tc-open,html.tc-open body{overflow:hidden}
.tc-drawer__head{display:flex;align-items:center;justify-content:space-between;padding:22px 24px 16px;border-bottom:1px solid var(--tc-line)}
.tc-drawer__title{margin:0;font:400 30px/1.1 var(--tc-head);letter-spacing:.01em}
.tc-drawer__title small{font:400 16px var(--tc-body);color:var(--tc-muted);margin-left:.35em}
.tc-close{width:40px;height:40px;border:0;background:none;color:var(--tc-ink);font-size:26px;line-height:1;cursor:pointer;border-radius:50%}
.tc-close:hover{background:rgba(0,0,0,.05)}
.tc-items{list-style:none;margin:0;padding:8px 24px;overflow-y:auto;flex:1}
.tc-item{display:grid;grid-template-columns:84px 1fr auto;gap:14px;padding:18px 0;border-bottom:1px solid var(--tc-line);align-items:start}
.tc-item img{width:84px;height:84px;object-fit:cover;border-radius:10px;display:block;background:var(--tc-panel)}
.tc-item__title{font:400 19px/1.2 var(--tc-head);color:var(--tc-ink);text-decoration:none}
.tc-item__title:hover{text-decoration:underline;text-underline-offset:3px}
.tc-item__variant,.tc-item__unit{font-size:14px;color:var(--tc-muted);margin-top:4px}
.tc-item__controls{display:flex;align-items:center;gap:14px;margin-top:10px;flex-wrap:wrap}
.tc-item__remove{font-size:14px;color:var(--tc-muted)}
.tc-item__total{font-size:16px;white-space:nowrap;padding-top:2px}
.tc-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:24px;text-align:center}
.tc-empty p{margin:0;font:400 28px/1.2 var(--tc-head)}
.tc-foot{padding:18px 24px calc(22px + env(safe-area-inset-bottom));border-top:1px solid var(--tc-line);background:var(--tc-bg)}
.tc-subtotal{display:flex;justify-content:space-between;align-items:baseline;font-size:18px;margin-bottom:4px}
.tc-subtotal strong{font-weight:400;font-size:20px}
.tc-note{font-size:14px;color:var(--tc-muted);margin:0 0 14px}
.tc-checkout{width:100%}
.tc-msg{margin:12px 0 0;padding:12px 14px;border-radius:12px;background:var(--tc-panel);font-size:15px;line-height:1.4}
.tc-msg[hidden]{display:none}
.tc-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;background:var(--tc-btn);color:var(--tc-btn-ink);
  padding:12px 18px;border-radius:12px;font:400 15px var(--tc-body);z-index:2147483002;transition:all .3s;pointer-events:none}
.tc-toast.show{opacity:1;transform:translate(-50%,0)}

/* ---- standalone pages (product, success, cancel) ---- */
body.tp{margin:0;background:var(--tc-bg);color:var(--tc-ink);font:400 17px/1.55 var(--tc-body);min-height:100vh;display:flex;flex-direction:column}
.tp a{color:inherit}
.tp a.tc-button{color:var(--tc-btn-ink)}.tp a.tc-button--outline{color:var(--tc-ink)}
.tp-announce{text-align:center;font:400 11px/1 "Times New Roman",serif;letter-spacing:.04em;padding:14px 10px;border-bottom:1px solid var(--tc-line)}
.tp-header{display:flex;justify-content:center;align-items:center;position:relative;padding:12px 24px}
.tp-logo img{display:block;height:62px;width:auto}
.tp-cart-btn{position:absolute;right:24px;top:50%;transform:translateY(-50%);width:44px;height:44px;padding:0;border:0;background:none;color:var(--tc-ink);cursor:pointer;display:flex;align-items:center;justify-content:center}
.tp-cart-btn svg{width:22px;height:22px;display:block}
.tp-bubble{position:absolute;top:5px;right:3px;box-sizing:border-box;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--tc-btn);color:var(--tc-btn-ink);font:700 10px/16px Inter,Arial,sans-serif;text-align:center}
.tp-bubble[hidden]{display:none}
.tp-main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:12px 24px 64px;box-sizing:border-box}
.tp-crumb{font-size:14px;color:var(--tc-muted);margin:8px 0 22px}
.tp-crumb a{text-decoration:none}.tp-crumb a:hover{text-decoration:underline}
.tp-product{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:56px;align-items:start}
.tp-media img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:16px;display:block;background:var(--tc-panel)}
.tp-info h1{font:400 44px/1.1 var(--tc-head);margin:0 0 10px}
.tp-price{font-size:19px;margin:0 0 26px}
.tp-form{display:flex;flex-direction:column;gap:22px;max-width:420px;margin-bottom:34px}
.tp-options{border:0;margin:0;padding:0}.tp-options legend{font-size:15px;margin-bottom:10px;padding:0}
.tp-pill{display:inline-block;margin:0 8px 8px 0}.tp-pill input{position:absolute;opacity:0;pointer-events:none}
.tp-pill span{display:inline-block;padding:9px 18px;border:1px solid var(--tc-line);border-radius:999px;cursor:pointer;background:rgba(255,255,255,.35)}
.tp-pill input:checked+span{background:var(--tc-btn);color:var(--tc-btn-ink);border-color:var(--tc-btn)}
.tp-pill input:focus-visible+span{outline:2px solid var(--tc-ink);outline-offset:2px}
.tp-pill input:disabled+span{opacity:.4;text-decoration:line-through;cursor:not-allowed}
.tp-qty-row{display:flex;align-items:center;gap:16px}.tp-label{font-size:15px}
.tp-add{width:100%}
.tp-desc{font-size:16px;line-height:1.55}.tp-desc p{margin:0 0 .35em}.tp-desc blockquote{margin:0}
.tp-footer{text-align:center;font-size:12px;padding:22px;border-top:1px solid var(--tc-line);background:#d6cbc6}
.tp-return{max-width:560px;margin:60px auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:18px}
.tp-return h1{font:400 48px/1.1 var(--tc-head);margin:0}.tp-return p{margin:0}
@media (max-width:749px){
  .tp-product{grid-template-columns:1fr;gap:26px}.tp-info h1{font-size:34px}.tp-main{padding:8px 16px 48px}
  .tp-logo img{height:48px}.tp-cart-btn{right:12px}
  .tc-drawer__head{padding:18px 18px 14px}.tc-items{padding:4px 18px}.tc-foot{padding:16px 18px calc(18px + env(safe-area-inset-bottom))}
  .tc-item{grid-template-columns:72px 1fr auto;gap:12px}.tc-item img{width:72px;height:72px}
}
@media (prefers-reduced-motion:reduce){.tc-drawer,.tc-overlay,.tc-toast{transition:none}}
/* interim Stripe Payment Links */
.tc-button--outline{background:transparent;color:var(--tc-ink);border:1px solid var(--tc-ink);width:100%;box-sizing:border-box}
.tp-buynow{display:flex;flex-direction:column;gap:8px}.tp-buynow[hidden]{display:none}
.tc-testnote{margin:0;font-size:13px;color:var(--tc-muted)}
.tc-msg{display:flex;flex-direction:column;gap:8px}.tc-msg small{font-size:13px;color:var(--tc-muted)}
.tc-paylink{display:block;padding:10px 12px;border-radius:10px;background:var(--tc-btn);color:var(--tc-btn-ink)!important;text-decoration:none;font-size:15px}
.tc-paylink:hover{opacity:.9}
